export interface AuthState { type: 'metamask' | 'email'; email?: string | null; userId?: string | null; publicKey?: string | null; } export interface ActionRequestEthPersonalSign { type: 'ethPersonalSign'; data: { msg: string; }; } export interface ActionRequestSignIn { type: 'signIn'; data: { force?: boolean; }; } export interface ActionRequestSignOut { type: 'signOut'; } export type ActionRequest = ActionRequestEthPersonalSign | ActionRequestSignIn | ActionRequestSignOut; export interface AuthConfig { origin?: string; url: string; } export interface Register { domain: string; } export interface ChildFns { register: (register: Register) => Promise; action: (action: ActionRequest) => Promise; } export type AuthListener = (state: AuthState | null, auth: Auth) => void; export type AuthUnsubscribeListener = () => void; export interface SignInParameters { force?: boolean; } export declare const defaultConfig: { url: string; }; export declare class Auth { config?: AuthConfig; isAuthenticated: boolean; state: AuthState | null; loading: boolean; private authUpdateListeners; private modal; private connection; private promise; constructor(config?: AuthConfig); signIn: (params?: SignInParameters) => Promise; signOut: () => Promise; ethPersonalSign: (msg: string) => Promise; onAuthUpdate: (listener: AuthListener) => AuthUnsubscribeListener; private init; private action; } //# sourceMappingURL=Auth.d.ts.map