interface StepGatingInput { account: unknown; authorized?: boolean; disabled?: boolean; } interface MigrateButtonInput extends StepGatingInput { migratableCount?: number; knotCount?: number; } export const isAuthorizeGated = ({ account, disabled = false }: StepGatingInput): boolean => !account || disabled; export const isRepoSelectGated = ({ account, authorized = false, disabled = false }: StepGatingInput): boolean => !account || !authorized || disabled; export const isMigrateDisabled = ({ account, authorized = false, migratableCount = 0, knotCount = 0, disabled = false }: MigrateButtonInput): boolean => !account || !authorized || disabled || migratableCount === 0 || knotCount === 0;