import { SessionManager } from '@kinde/js-utils'; import { DiscoveryDocument } from 'expo-auth-session'; import { AuthSessionOpenOptions } from 'expo-web-browser'; type WebWindowLike = { localStorage?: { setItem: (key: string, value: string) => void; removeItem: (key: string) => void; }; }; type ExpoSecureStoreConstructor = new () => SessionManager; type StorageFactoryOptions = { platformOS: string; windowObject?: WebWindowLike; loadExpoSecureStore?: () => Promise; }; type RemoteLogoutOptions = { discovery: Pick | null; redirectUri: string; openAuthSession: (url: string, redirectUri: string, options?: AuthSessionOpenOptions) => Promise; browserOptions?: AuthSessionOpenOptions; }; export declare const canUseLocalStorage: (windowObject?: WebWindowLike) => boolean; export declare const completePendingWebAuthSession: (platformOS: string, windowObject?: unknown) => void; export declare const createSessionStorage: ({ platformOS, windowObject, loadExpoSecureStore, }: StorageFactoryOptions) => Promise; export declare const persistRefreshToken: (storage: SessionManager, refreshToken: string | null | undefined) => Promise; export declare const clearPersistedRefreshToken: (storage: SessionManager) => Promise; export declare const getPersistedRefreshToken: (storage: SessionManager) => Promise; export declare const performRemoteLogout: ({ discovery, redirectUri, openAuthSession, browserOptions, }: RemoteLogoutOptions) => Promise; export {};