export declare type Auth = { route?: RouteType; error?: { message: string; status?: number; }; needsCredentials: boolean; isLogout?: boolean; lender?: boolean; loginInProgress?: boolean; needs2fa: boolean; resetSuccess?: boolean; pageType?: string; user?: User; }; /** Identifies which API "route" to use when authenticating users. This does not * correlate to browser login routes! */ export declare type RouteType = "lender" | "borrower" | "tombstone"; export interface AuthContext { acceptEula: () => void; auth: Auth; logout: () => void; refreshAuthToken: () => void; registerPhone: (entityUuid: string, phone: string, actionMessage?: string) => void; resendToken: (borrowerUuid: string) => void; sendPasswordReset: (username: string) => void; sendPasswordResetEmail: (entityUuid: string) => void; setCredentials: (username: string, password: string, routeType: RouteType) => void; setMfaToken: (borrowerUuid: string, token: string) => void; setPassword: (entityUuid: string, setupKey: string, password: string, actionMessage?: string) => void; verifySetupKey: (entityUuid: string, setupKey: string) => void; setLoginInProgress: (inProgress: boolean) => void; setPageType: (pageType: string) => void; } export declare type Socket = { socket?: any; }; export interface SocketContext extends Socket { createSocketConnection: (option: string) => void; resetSocketConnection: () => void; removeSocketConnection: () => void; } export interface AuthTombstoneContext extends AuthContext { setCredentialsTombstone: (username: string, password: string) => void; } export declare type User = Omit; export declare type BafsAuth = { borrower_uuid?: string; eula_accepted: string; first_name: string; institution_uuid?: string; last_name: string; organization_uuid?: string; phone?: string; token: string; user_uuid: string; email: string; };