import type { CookieOptions } from '../../../browser/cookie'; import type { SessionPersistence } from '../sessionConstants'; import type { SessionState } from '../sessionState'; import type { Observable } from '../../../tools/observable'; export declare const SESSION_STORE_KEY = "_oo_s_v2"; export declare const LEGACY_SESSION_STORE_KEY = "_oo_s"; export declare const enum CookieApi { DOCUMENT_COOKIE = 0, COOKIE_STORE = 1 } export interface CookieSessionStoreStrategyType { type: typeof SessionPersistence.COOKIE; cookieOptions: CookieOptions; cookieApi: CookieApi; } export type SessionStoreStrategyType = CookieSessionStoreStrategyType | { type: typeof SessionPersistence.LOCAL_STORAGE; } | { type: typeof SessionPersistence.MEMORY; }; export type SessionStateOperation = 'initialize' | 'expandOrRenewOnActivity' | 'expandOrRenewOnConsent' | 'expandOnVisibility' | 'initializeOnResume' | 'expireOnTimeout' | 'expire' | 'updateState'; export interface SessionStoreStrategy { setSessionState(fn: (sessionState: SessionState) => SessionState, operation: SessionStateOperation): Promise; sessionObservable: Observable; }