import { HTTP } from "./HTTP.ts"; export interface AuthSettings { path: string; key: string; } export interface PopupSettings { prefix: string; width: number; height: number; } /** * Response from getUserData() */ export interface UserDataResponse { user: UserData; } /** * Response from authentication methods (login, register, anonymous, OAuth) */ export interface AuthResponse { user: UserData; token: string; } /** * Response from sendPasswordResetEmail() */ export type ForgotPasswordResponse = boolean | unknown; /** * @deprecated Use AuthResponse instead */ export type AuthData = AuthResponse; export declare class Auth { #private; settings: AuthSettings; protected http: HTTP; constructor(http: HTTP); set token(token: string); get token(): string | undefined; onChange(callback: (response: AuthResponse) => void): () => void; getUserData(): Promise>; registerWithEmailAndPassword(email: string, password: string, options?: any): Promise>; signInWithEmailAndPassword(email: string, password: string): Promise>; signInAnonymously(options?: any): Promise>; sendPasswordResetEmail(email: string): Promise; signInWithProvider(providerName: string, settings?: Partial): Promise>; signOut(): Promise; private emitChange; }