import type { PendingTaskRef, SessionState } from "./types"; export declare const ATLAS_SESSION_STATE_TTL_MS: number; export declare const ATLAS_SESSION_PRUNE_INTERVAL_MS: number; type PendingAtlasCall = { readonly kind: "file"; readonly sessionID?: string; readonly filePath: string; readonly planSnapshot?: string; } | { readonly kind: "task"; readonly sessionID?: string; readonly task: PendingTaskRef; }; export declare class AtlasLifecycleStore { readonly sessions: Map; readonly pendingFilePaths: Map; readonly pendingTaskRefs: Map; readonly pendingPlanSnapshots: Map; readonly pendingCalls: Map; readonly sessionCallIDs: Map>; private readonly lastAccessedAt; private pruneInterval; private disposed; private readonly disposedState; getExistingState(sessionID: string): SessionState | undefined; getOrCreateState(sessionID: string): SessionState; trackFileCall(callID: string, sessionID: string | undefined, filePath: string): void; trackTaskCall(callID: string, sessionID: string | undefined, task: PendingTaskRef): void; trackPlanSnapshot(callID: string, snapshot: string): void; consumeFileCall(callID: string | undefined): Extract | undefined; consumeTaskCall(callID: string | undefined): Extract | undefined; clearPendingCall(callID: string | undefined): void; cleanupSession(sessionID: string): void; dispose(): void; get sizes(): { readonly sessions: number; readonly pendingCalls: number; readonly sessionIndexes: number; readonly hasPruneInterval: boolean; }; private replaceCall; private removeSessionCallID; private ensurePruneInterval; private prune; } export {};