declare global { interface Window { FeedMeAuthGlobal: typeof FeedMeAuth; } } export interface FeedMeAuthOptions { clientId: string; oneTapMode?: "full_screen" | "popup"; loginMode?: "iframe" | "new_window"; forceOtpLogin?: boolean; disableSocialLogin?: boolean; setProfile?: boolean; profileAllowSkip?: boolean; profileShowEmail?: boolean; locale?: string; showSavedAccounts?: boolean; } export interface FeedMeUser { id: string; email?: string | null; photoURL?: string | null; displayName?: string | null; phoneNumber?: string | null; } export declare class FeedMeAuth { static feedMePosOptions: FeedMeAuthOptions; static baseUrl: string; private static authStateChangeCallbacks; private static loginCompleteCallbacks; private static callLoginCompleteCallbacks; private static bgIframe; private static _token; private static _user; private static initialAuthStatePromise; private static readonly BG_IFRAME_READY_TIMEOUT; private static bgIframeReadyPromise; private static resolveBgIframeReady; static get token(): string | null; static setBaseUrl(url: string): void; static setBaseUrl(isDev: boolean): void; static initialize({ clientId, setProfile, profileAllowSkip, profileShowEmail, oneTapMode, loginMode, forceOtpLogin, disableSocialLogin, locale, showSavedAccounts, }: FeedMeAuthOptions): void; static signIn({ waitForInitialAuthState, root, }?: { waitForInitialAuthState?: boolean; root?: HTMLElement; }): Promise; static setToken(token: string): void; static authStateChangeCallBackId: number; static onAuthStateChanged(callback: (user: FeedMeUser | null, token: string | null) => void): () => void; static loginCompleteCallBackId: number; static onLoginComplete(callback: () => void): () => void; static signOut(): Promise; static verifyOtp({ phone, tokenType, }: { phone: string; tokenType: "idtoken" | "customtoken"; }): Promise; static unmountById(id: string): void; static getCustomToken(token?: string): Promise; static currentUser(): Promise; static signInWithCustomToken(customToken: string): Promise; static refreshToken(): Promise; static getUserClaims(): Promise<{ /** in seconds since the Unix epoch. */ exp: number; customClaims: Record | undefined; }>; static checkTokenValidity(): Promise; static initTokenRevokeCheck(): void; static getManageProfileUrl(): string; static openManageProfile(): WindowProxy | null; static onLocaleChange(callback: (locale: string) => void): () => void; private static startBackground; private static startLoginIframe; private static createIframe; private static getQueryParams; private static getBackgroundUrl; private static getOneTapUrl; private static getLoginUrl; private static getOtpUrl; private static getMaxZIndex; private static waitForBgIframeReady; private static callMethodOnIframe; }