/**
 * A2A terminal observer.
 *
 * v2 dispatch returns an A2A Task immediately. Executors may not also emit the
 * executor-contract mission.* event stream, so aiwg serve must follow the task
 * until it reaches a terminal A2A state and then project that state into the
 * ExecutorRegistry mission model.
 *
 * @issue #1374
 */
import { type Task, type TaskState } from '../a2a/types.js';
import type { ExecutorRegistration, ExecutorRegistry } from './executor-registry.js';
export interface A2ATerminalObserverOptions {
    fetch?: typeof fetch;
    pollIntervalMs?: number;
    maxPolls?: number;
    onError?: (err: unknown) => void;
}
export declare function observeA2ATerminalState(registry: ExecutorRegistry, executor: ExecutorRegistration, missionId: string, a2aInstanceId: string, initialTask: Task, opts?: A2ATerminalObserverOptions): Promise<void>;
export declare function isA2ATerminalState(state: TaskState): boolean;
//# sourceMappingURL=a2a-terminal-observer.d.ts.map