UNPKG

@opentelemetry/web-common

Version:
45 lines 1.73 kB
import { SessionIdGenerator } from './types/SessionIdGenerator'; import { Session } from './types/Session'; import { SessionProvider } from './types/SessionProvider'; import { SessionObserver } from './types/SessionObserver'; import { SessionStore } from './types/SessionStore'; import { SessionPublisher } from './types/SessionPublisher'; export interface SessionManagerConfig { /** Class responsible for generating a session ID */ sessionIdGenerator: SessionIdGenerator; /** Class responsible for storing session data over multiple page loads. */ sessionStore: SessionStore; /** Maximum duration of a session in seconds */ maxDuration?: number; /** Maximum time without a user activity after which a session should be expired, in seconds */ inactivityTimeout?: number; } /** * SessionManager is responsible for managing the active session including starting, * resetting, and persisting. */ export declare class SessionManager implements SessionProvider, SessionPublisher { private _session; private _idGenerator; private _store; private _observers; private _maxDuration?; private _maxDurationTimeoutId?; private _inactivityTimeout?; private _inactivityTimeoutId?; private _lastActivityTimestamp; private _inactivityResetDelay; constructor(config: SessionManagerConfig); start(): Promise<void>; addObserver(observer: SessionObserver): void; getSessionId(): string | null; getSession(): Session; shutdown(): void; private startSession; private endSession; private resetSession; private resetTimers; private resetInactivityTimer; private resetMaxDurationTimer; } //# sourceMappingURL=SessionManager.d.ts.map