import type { AgentConfig } from '../../shared/agent-config.js'; import type { MemoryCoherenceConfig } from '../../shared/server-settings.js'; import type { InboxItem, MemoryCoherenceInboxItem } from '../../shared/inbox.js'; import { type ServerConfig } from '../storage/schema/server.store.js'; export interface MemoryCoherenceSchedulerConfig { enabled: boolean; maxConcurrent: number; scopeAgentIds: string[]; timezone: string; windowDurationMinutes: number; windowStart: string; } export interface MemoryCoherenceQueue { enqueue(item: MemoryCoherenceInboxItem): Promise<{ duplicate: boolean; queued: boolean; }>; list(): Promise; } export interface MemoryCoherenceSchedulerDeps { hasMeaningfulActivitySinceLastPass?: (agentId: string) => Promise; now?: () => Date; queueForAgent?: (agentId: string) => MemoryCoherenceQueue; readServerConfig?: () => Promise; timezoneForAgent?: (agent: AgentConfig, requested: string) => string; } export declare class MemoryCoherenceScheduler { private readonly now; private readonly hasMeaningfulActivitySinceLastPass; private readonly queueForAgent; private readonly readServerConfig; private readonly timezoneForAgent; constructor(deps?: MemoryCoherenceSchedulerDeps); reconcile(agents: AgentConfig[]): Promise; private activeMemoryCoherenceCount; } export declare function hasMeaningfulActivitySinceLastMemoryPass(agentId: string): Promise; export declare function normalizeMemoryCoherenceConfig(raw: MemoryCoherenceConfig | undefined): MemoryCoherenceSchedulerConfig; export declare function memoryCoherenceAgents(agents: AgentConfig[], config: MemoryCoherenceSchedulerConfig): AgentConfig[]; export declare function stableAgentOffsetMinutes(agentId: string, windowDurationMinutes: number): number; //# sourceMappingURL=memory-coherence-scheduler.d.ts.map