import type { TimeStamp, RelativeTime } from '@openobserve/js-core/time'; import { Observable } from '../../tools/observable'; import type { Configuration } from '../configuration'; import type { TrackingConsentState } from '../trackingConsent'; import type { SessionState } from './sessionState'; export interface SessionManager { findSession: (startTime?: RelativeTime, options?: { returnInactive: boolean; }) => SessionContext | undefined; findTrackedSession: (startTime?: RelativeTime, options?: { returnInactive: boolean; }) => SessionContext | undefined; renewObservable: Observable; expireObservable: Observable; expire: () => void; updateSessionState: (state: Partial) => void; } export interface SessionContext { id: string; anonymousId?: string | undefined; isReplayForced?: boolean; createdAt: TimeStamp; } export declare const VISIBILITY_CHECK_DELAY: number; export declare const TRACKED_SESSION_MAX_AGE: number; export declare function startSessionManager(configuration: Configuration, trackingConsentState: TrackingConsentState): Promise; export declare function startSessionManagerStub(): Promise; export declare function stopSessionManager(): void;