import type { AnyBrowser, AnyContext, AnyPage, LaunchedHandle } from '../browser.js'; export type SessionRecord = { id: string; handle: LaunchedHandle; pages: Map; activePageId: string | undefined; createdAt: number; lastActivity: number; ttlMs: number; meta: Record; }; export type PageRef = { sessionId: string; pageId: string; page: AnyPage; }; export declare class Registry { readonly defaultTtlMs: number; private readonly sessions; private timer; private readonly sweepIntervalMs; constructor(defaultTtlMs?: number); start(): void; stop(): void; closeAll(): Promise; registerSession(handle: LaunchedHandle, meta?: Record, ttlMs?: number): SessionRecord; registerPage(sessionId: string, page: AnyPage): string; getSession(id: string): SessionRecord | undefined; requireSession(id: string): SessionRecord; requirePage(sessionId: string, pageId?: string): PageRef; listSessions(): Array<{ id: string; created_at: number; last_activity: number; pages: number; active_page: string | undefined; meta: Record; }>; describeSession(id: string): { id: string; created_at: number; last_activity: number; ttl_ms: number; pages: Array<{ id: string; url: string; closed: boolean; }>; active_page: string | undefined; meta: Record; }; closeSession(id: string): Promise; touch(id: string): void; setActivePage(sessionId: string, pageId: string): void; defaultContext(sessionId: string): AnyContext | AnyBrowser; private sweepIdle; } //# sourceMappingURL=registry.d.ts.map