import React, { ReactNode } from 'react';
import { WidgetAction } from '../reducer';
interface EmailLoginContextValue {
    startEmailLogin: (email: string) => void;
    submitOTP: (otp: string) => void;
    submitMFA: (totp: string) => void;
    lostDevice: () => void;
    submitRecoveryCode: (recoveryCode: string) => void;
    cancelLogin: () => void;
    retryDeviceVerification: () => void;
    resendEmailOTP: () => void;
    email: string | null;
}
interface EmailLoginProviderProps {
    children: ReactNode;
    dispatch: React.Dispatch<WidgetAction>;
}
export declare function EmailLoginProvider({ children, dispatch }: EmailLoginProviderProps): React.JSX.Element;
/**
 * Hook to access the email login context
 * @throws Error if used outside of EmailLoginProvider
 */
export declare function useEmailLogin(): EmailLoginContextValue;
export {};
