import type { InstanceType, ListenerCallback, SignedInSession, SignInRedirectOptions, SignInResource, SignInResponseTree, SignOut, SignUpRedirectOptions, SignUpResource, TernSecureAuth as TernSecureAuthInterface, TernSecureAuthOptions, TernSecureSDK, TernSecureUser, UnsubscribeCallback } from '@tern-secure/types'; import type { Auth as TernAuth } from 'firebase/auth'; import { AuthCookieManager } from '../resources/internal'; export declare function inBrowser(): boolean; export { TernAuth }; /** * Firebase implementation of the TernSecureAuth interface */ export declare class TernSecureAuth implements TernSecureAuthInterface { #private; static version: string; static sdkMetadata: TernSecureSDK; private static instance; private _currentUser; private signedInSession; private firebaseClientApp; private authStateUnsubscribe; private auth; private csrfToken; isLoading: boolean; error: Error | null; user: TernSecureUser | null | undefined; __internal_country?: string | null; signIn: SignInResource; signUp: SignUpResource; get isReady(): boolean; get status(): TernSecureAuthInterface['status']; get version(): string; set sdkMetadata(metadata: TernSecureSDK); get sdkMetadata(): TernSecureSDK; get requiresVerification(): boolean; get apiUrl(): string; getApiUrl: () => string; get domain(): string; get instanceType(): InstanceType | undefined; constructor(options?: TernSecureAuthOptions); setLoading(isLoading: boolean): void; authCookieManager(): AuthCookieManager | undefined; static getorCreateInstance(options?: TernSecureAuthOptions): TernSecureAuth; static clearInstance(): void; static initialize(options: TernSecureAuthOptions): TernSecureAuth; private initializeFirebaseApp; signOut: SignOut; get currentSession(): SignedInSession | null; private initAuthStateListener; private _onIdTokenChanged; onAuthStateChanged(callback: (cb: any) => void): () => void; onIdTokenChanged(callback: (cb: any) => void): () => void; private updateCurrentSession; checkRedirectResult(): Promise; addListener: (listener: ListenerCallback) => UnsubscribeCallback; on: TernSecureAuthInterface['on']; off: TernSecureAuthInterface['off']; initialize(options: TernSecureAuthOptions): Promise; static create(options: TernSecureAuthOptions): TernSecureAuth; _initialize: (options: TernSecureAuthOptions) => void; constructUrlWithAuthRedirect: (to: string) => string; constructSignInUrl: (options?: SignInRedirectOptions) => string; constructSignUpUrl: (options?: SignUpRedirectOptions) => string; __internal_setCountry: (country: string | null) => void; } //# sourceMappingURL=TernAuth.d.ts.map