import { AxiosInstance } from 'axios'; import { User, AuthSession, IdTokenResult, UserProfileUpdate, AuthStateCallback } from './authTypes'; export declare class Auth { private projectId; private client; private persistence; private emulatorUrl; private currentSession; private listeners; private refreshPromise; private refreshTimer; constructor(projectId: string, client: AxiosInstance, initialToken: string | null); connectAuthEmulator(url: string): void; get emulator(): string | null; private initSession; onAuthStateChanged(callback: AuthStateCallback): () => void; private notifyListeners; private handleStorageChange; get currentUser(): User | null; getToken(): string | null; setToken(token: string | null): void; getIdToken(forceRefresh?: boolean): Promise; getIdTokenResult(forceRefresh?: boolean): Promise; private parseJwtClaims; private refreshAccessTokenDeduplicated; private refreshAccessToken; private scheduleAutoRefresh; private clearAutoRefresh; createUserWithEmailAndPassword(email: string, password: string, name?: string): Promise; signInWithEmailAndPassword(email: string, password: string): Promise; sendOtp(email: string): Promise<{ success: boolean; message: string; }>; signInWithOtp(email: string, otp: string): Promise; sendPasswordResetEmail(email: string): Promise<{ success: boolean; }>; confirmPasswordReset(code: string, newPassword: string): Promise<{ success: boolean; }>; sendEmailVerification(): Promise<{ success: boolean; }>; updateProfile(update: UserProfileUpdate): Promise; updatePassword(newPassword: string): Promise; deleteUser(): Promise; revokeSession(sessionId?: string): Promise; revokeAllSessions(): Promise; signOut(): Promise; getCurrentUser(): User | null; } export { Auth as AuthService };