import type { CorrectionObserverPayload, CorrectionObserverOutputV1 } from './correction-observer.js'; export interface AgentTypeMap { 'correction-observer': { input: CorrectionObserverPayload; output: CorrectionObserverOutputV1; }; } export type AgentScheduleMode = 'realtime' | 'periodic'; export interface ScheduledAgent { agentId: K; mode: AgentScheduleMode; runner: { run: (input: AgentTypeMap[K]['input']) => Promise; }; } export declare class AgentScheduler { private readonly registry; /** * Register a strongly-typed runner with its ID and execution mode */ register(agent: ScheduledAgent): void; /** * Dispatch execution to the registered runner with 100% type-safe input/output contracts. * Guarantees zero "as" casts in the public caller boundary (internal engine uses safe covariance casts). */ dispatch(agentId: K, input: AgentTypeMap[K]['input']): Promise; /** * List all currently registered agents and their modes */ getRegisteredAgents(): readonly { agentId: string; mode: AgentScheduleMode; }[]; } //# sourceMappingURL=agent-scheduler.d.ts.map