import { SessionListener } from "../../../core/internal/session/SessionListener"; import { SessionManager } from "../../../core/internal/session/SessionManager"; import { SessionContext } from "../../../core/internal/session/SessionContext"; import { SessionPolicy } from "../../../core/internal/session/SessionPolicy"; import { UserListener } from "../../../core/internal/user/UserListener"; import { User } from "../../../index.browser"; import { IStorage } from "../../../core/internal/storage/Storage"; import { Lifecycle } from "../../../core/internal/lifecycle/Lifecycle"; import { LifecycleChangeListener } from "../../../core/internal/lifecycle/LifecycleChangeListener"; export declare class SessionManagerImpl implements SessionManager, UserListener, LifecycleChangeListener { private sessionPolicy; private storage; static EMPTY_SESSION_ID: string; private sessionListeners; private _currentSessionId; private _lastEventTime; constructor(sessionPolicy: SessionPolicy, storage: IStorage); get currentSessionId(): string | null; get sessionId(): string; get lastEventTime(): number | null; addListener(listener: SessionListener): void; startNewSession(oldUser: User | null, newUser: User, timestamp: number): string; startNewSessionIfNeeded(context: SessionContext): string; updateLastEventTime(timestamp: number): void; private shouldStartNewSession; private isSessionTimedOut; private endSession; private newSession; private saveSession; private loadSession; private loadLastEventTime; onUserUpdated(oldUser: User, newUser: User, timestamp: number): void; onLifecycleChanged(lifecycle: Lifecycle, timestamp: number): void; }