import { type ThreadLifecycleService } from "./thread-lifecycle.service.js"; import type { initMemoryDb } from "../data/memory/index.js"; export declare class KeeperService { private deps; private keepers; private syncTimer; constructor(deps: { getMemoryDb: () => ReturnType; threadLifecycle: ThreadLifecycleService; telegram: { sendMessage(chatId: string, text: string, parseMode?: string, threadId?: number): Promise; }; chatId: string; }); start(): void; stop(): void; private syncKeepers; /** One keeper cycle with persistence: whenever a cycle changed any durable * policy counter, push the new state to the broker's registry so it survives * an MCP restart (plan §4.3). Single choke point — the cycle body has many * early returns and each mutation site would otherwise need its own save. */ private runKeeperCycle; private static durableStateOf; /** Restore persisted counters when a keeper starts (max-merge so counters that * already advanced in this session are never rolled back). */ private hydrateFromRegistry; private checkAndRestart; private notifyDeath; } //# sourceMappingURL=keeper.service.d.ts.map