import type { MailMessage } from "../io/mail.js"; import type { AgentConfig, AgentState } from "./types.js"; import type { MemoryStore } from "../io/memory.js"; import type { ContextManager } from "../io/context.js"; import type { ProviderManager } from "../llm/provider.js"; import type { ToolRegistry } from "../tools/registry.js"; import { ReviewGate } from "../governance/review-gate.js"; interface EventLoopDeps { config: AgentConfig; memory: MemoryStore; context: ContextManager; provider: ProviderManager; tools: ToolRegistry; reviewGate?: ReviewGate; } export declare class EventLoop { private readonly deps; private readonly pollMs; private state; private running; private compactionSummary; constructor(deps: EventLoopDeps, pollMs?: number); run(checkInbox: () => Promise): Promise; stop(): Promise; getState(): AgentState; runOnce(prompt: string): Promise; private parseTrust; private parseSender; private formatMailPrompt; private buildToolSpecs; private processMail; private processMessage; compact(): Promise; private buildSystemPrompt; /** * S43-C: Validate raw assistant message structure. * Only allow known block types (text, tool_use for Anthropic; standard OpenAI format). */ private validateRawAssistant; private fileOrEmpty; } export {}; //# sourceMappingURL=event-loop.d.ts.map