/**
 * Hook options and return type for repeat login (continue with last method).
 */
export interface UseRepeatLoginOptions {
    /**
     * Last used authentication method shown in the primary button label.
     * @default "Mobile"
     */
    lastUsedMethod?: string | undefined;
    /** Sync handler for primary action. Use when caller owns API (e.g. AuthFlow). Ignored when continueApi is provided. */
    onContinueWithLastMethod?: (() => void) | undefined;
    /** Handler for the secondary action (choose another method). */
    onUseAnotherMethod?: (() => void) | undefined;
    /** Async API for continue (e.g. validate session). When provided, hook runs: continueApi() → onSuccess(). */
    continueApi?: (() => Promise<void>) | undefined;
    /** Called after continueApi succeeds (e.g. router.push('/dashboard')). */
    onSuccess?: (() => void) | undefined;
    /** Called when continueApi fails. */
    onError?: ((error: unknown) => void) | undefined;
}
/** Return value of the `useRepeatLogin` hook, providing continue handler and display state. */
export interface UseRepeatLoginReturn {
    /** Call this when the user clicks "Continue with {lastUsedMethod}". */
    handleContinue: () => void;
    /** True while continueApi is in flight. */
    isSubmitting: boolean;
    /** Resolved lastUsedMethod for display (default "Mobile"). */
    lastUsedMethod: string;
}
