import type { AgentRegistry } from "../agents.js"; import type { MemoryConfig } from "../config.js"; import type { OpencodeClient } 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 { MaintenanceLock } from "./lock.js"; import type { AutodreamState, ExtractionStateStore } from "./state.js"; export declare const AUTODREAM_TITLE = "opencode-memory auto-dream"; export declare const AUTODREAM_FORK_GRACE_MS = 60000; export type AutodreamGate = Pick; export declare function shouldRunAutodream(state: AutodreamState, gate: AutodreamGate, now: number): boolean; export type AutoDreamDeps = { store: MemoryStore; config: MemoryConfig; client: OpencodeClient; directory: string; state: ExtractionStateStore; owned: OwnedSessions; agents: AgentRegistry; log: Logger; now?: () => number; lock?: MaintenanceLock; }; export declare class AutoDream { private readonly deps; private readonly now; private readonly lock; constructor(deps: AutoDreamDeps); static noteSession(state: AutodreamState, sessionID: string): void; shouldRun(): boolean; maybeRun(parentSessionID: string): Promise; }