import type { AgentInput, AgentMetadata, RouterAgentConfig, RouterAgentResult } from '../types/agent/index.js'; import type { SessionEventListener } from '../types/session/events.js'; import type { Logger } from '../utils/logger.js'; import { AbstractAgent } from './AbstractAgent.js'; export declare class RouterAgent extends AbstractAgent { readonly type: "router"; constructor(metadata: Omit, log?: Logger); /** * One turn at a time per instance. * * `abortController` and `currentSessionId` are instance state, so two * overlapping turns share one abort controller — cancelling either kills * both — and the second clobbers the first's session, so a later * `cancel()` cancels the wrong children. Neither failure announces itself. * A host that wants parallelism constructs a second instance. */ run(input: AgentInput, config: RouterAgentConfig, listener?: SessionEventListener): Promise; private runExclusive; private route; } //# sourceMappingURL=RouterAgent.d.ts.map