import type { TernSecureConfig, TernSecureUser } from "@tern-secure/types"; import type { FirebaseServerApp, FirebaseServerAppSettings } from "firebase/app"; import type { Auth } from "firebase/auth"; type TernSecureServerConfig = { apiKey: string; }; export interface TernServerAuthOptions { firebaseConfig?: TernSecureConfig; firebaseServerConfig?: TernSecureServerConfig; authIdToken?: string; } export interface AuthenticatedApp { firebaseServerApp: FirebaseServerApp; auth: Auth; currentUser?: TernSecureUser | null; } export declare class TernServerAuth { #private; private static instance; private auth; constructor(); static getInstance(): TernServerAuth; static initialize(options: TernServerAuthOptions): TernServerAuth; static clearInstance(): void; getAuthIdToken: () => Promise; getAuthenticatedAppFromHeaders: (headers: { get: (key: string) => string | null; }) => Promise; getServerApp: (appSettings?: FirebaseServerAppSettings) => Promise; } export {}; //# sourceMappingURL=TernAuthServer.d.ts.map