import type { DiscoveredProcess, ManagedSession, SessionCursor, SessionListPage, SessionListQuery, SessionResponse } from "./types"; export declare class SessionStore { private readonly visibility; constructor(visibility?: (id: string, session?: ManagedSession) => boolean); private managed; private discovered; addManaged(session: ManagedSession): void; /** * Multi-agent mode only. Attach a dedupe LRU to a session record. Idempotent — * calling twice keeps the existing LRU (and its contents). */ initAgentSession(sessionId: string, dedupeCapacity: number): void; updateManaged(sessionId: string, updates: Partial): ManagedSession | null; removeManaged(sessionId: string): boolean; /** * The **live** stored record — mutating it mutates the store. Paired with * `get()`, which hands back a throwaway response copy. Prefer * `updateManaged()` for writes; this is for readers that need the internal * shape (Date fields, `rehydrated`, …) rather than the wire shape. */ getManaged(sessionId: string): ManagedSession | null; setDiscovered(processes: DiscoveredProcess[]): void; /** * The **live** stored records — mutating an element mutates the store. Paired * with `list()`, which hands back throwaway response copies. */ listManaged(): ManagedSession[]; list(ptyAttachedIds: Set): readonly Readonly[]; get(sessionId: string, ptyAttachedIds: Set): Readonly | null; paginate(ptyAttachedIds: Set, query: SessionListQuery): SessionListPage; } export declare function encodeCursor(c: SessionCursor): string; export declare function decodeCursor(s: string): SessionCursor; //# sourceMappingURL=session-store.d.ts.map