import type { AgentRegistry } from "../agents.js"; import type { MemoryConfig } from "../config.js"; import type { ChatMessage, OpencodeClient, PluginEvent } from "../sdk.js"; import type { MemoryStore } from "../store/MemoryStore.js"; import type { Logger } from "../util/log.js"; import type { OwnedSessions } from "../util/ownedSessions.js"; import { type RecalledMemory } from "./format.js"; export declare const SESSION_STATE_TTL_MS: number; export declare const SELECTOR_GRACE_MS = 60000; export type RecallCoordinatorDeps = { store: MemoryStore; config: MemoryConfig; client: OpencodeClient | undefined; directory: string; owned: OwnedSessions; agents: AgentRegistry; log: Logger; now?: () => number; }; export declare class RecallCoordinator { private readonly deps; private readonly sessions; private warnedMissingSessionID; private readonly now; constructor(deps: RecallCoordinatorDeps); onMessagesTransform(output: { messages: ChatMessage[]; }): void; takeRecalled(sessionID: string | undefined): Promise; isIgnored(sessionID: string | undefined): boolean; onEvent(event: PluginEvent): void; get trackedSessions(): number; private race; private evictStale; private startPrefetch; }