import { EventEmitter } from 'node:events'; import type { AgentConfig, AgentState } from './types.js'; export declare class AgentLoop extends EventEmitter { private config; private observer; private reasoner; private planner; private verifier; private executor; private reflector; private experienceStore; private auditLog; private logger; private controlServer; private patternExtractor; private strategyLibrary; private calibrator; private enrichedPromptBuilder; private state; private startTime; private hourWindow; private sessionCostCents; private experienceCount; private running; private paused; private pauseResolve; constructor(config: AgentConfig); start(): Promise; stop(): Promise; pause(): void; resume(): void; getCostCents(): number; getState(): AgentState; private tick; private registerAdapters; private runExtraction; private setPhase; private checkHourWindow; private trackTokens; /** Estimate cost in cents from token usage (rough Sonnet pricing). */ private trackCost; private recordError; private audit; private describePayload; private sleep; } export interface RuntimeOptions { name?: string; watch?: string[]; webhookPort?: number; scope?: string[]; commands?: string[]; urls?: string[]; blocked?: string[]; modelId?: string; experiencesPath?: string; controlPort?: number; jsonLogs?: boolean; maxSessionCostCents?: number; } export declare function buildAgentConfig(targetPath: string, opts?: RuntimeOptions): AgentConfig;