import type { AgentInput, AgentMetadata, ReactiveAgentConfig, ReactiveAgentResult } 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 ReactiveAgent extends AbstractAgent { readonly type: "reactive"; 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: ReactiveAgentConfig, listener?: SessionEventListener): Promise; private runExclusive; cancel(): Promise; } //# sourceMappingURL=ReactiveAgent.d.ts.map