import type { EscalationReason } from '../escalation/types.js'; import type { AgentConfig } from '../types/agentConfig.js'; import type { ChannelDriver } from '../types/channel.js'; import type { RunContext } from '../types/run-context.js'; import type { RunState } from './durable/types.js'; import { type ClassifyHostOptions, type HostGuardVerdict } from './select.js'; import type { selectHostTarget } from './select.js'; export type HostLoopResult = { kind: 'handoff'; to: string; reason?: string; category?: EscalationReason; } | { kind: 'ended'; reason: string; } | { kind: 'paused'; } | { kind: 'turnComplete'; }; export interface HostLoopOptions { agent: AgentConfig; run: RunState; driver: ChannelDriver; ctx: RunContext; classify?: (opts: ClassifyHostOptions) => Promise; /** @deprecated Test injection — use classify. */ select?: typeof selectHostTarget; } export declare function hostLoop(options: HostLoopOptions): Promise;