import { Agent } from '../agent';
import type { Handoff } from '../handoff';
import { RunItem } from '../items';
import { ModelResponse } from '../model';
import type { Runner } from '../run';
import { RunState } from '../runState';
import { NextStep, nextStepSchema } from './steps';
import type { ProcessedResponse } from './types';
import type { Tool } from '../tool';
import { type ApprovalCapableToolCall } from '../toolInvocation';
export declare function preflightModelResponseToolInvocations<TContext>(agent: Agent<TContext, any>, state: RunState<TContext, Agent<TContext, any>>, modelResponse: ModelResponse, tools: Tool<TContext>[], handoffs: Handoff<any, any>[], runner: Runner, signal?: AbortSignal): void;
export declare function preflightToolInvocations<TContext>(agent: Agent<TContext, any>, state: RunState<TContext, Agent<TContext, any>>, processedResponse: ProcessedResponse<TContext>): Set<ApprovalCapableToolCall>;
export declare function filterSuppressedToolCallItems(items: readonly RunItem[], suppressed: ReadonlySet<ApprovalCapableToolCall>): RunItem[];
export { nextStepSchema };
export type { NextStep };
