import { ConversationToolCall, Specification } from "../generated/graphql-types.js";
import { StreamEvent } from "../types/internal.js";
import type { OpenAIResponsesInputItem, OpenAIResponsesToolDefinition } from "./llm-formatters.js";
export interface OpenAIResponsesRoundResult {
    message: string;
    toolCalls: ConversationToolCall[];
    usage?: unknown;
    outputItems: OpenAIResponsesInputItem[];
}
export declare function streamWithOpenAIResponses(specification: Specification, instructions: string | undefined, input: OpenAIResponsesInputItem[], tools: OpenAIResponsesToolDefinition[] | undefined, openaiClient: any, onEvent: (event: StreamEvent) => void, abortSignal?: AbortSignal, reasoningEffort?: string, toolChoice?: "auto" | "required" | "none"): Promise<OpenAIResponsesRoundResult>;
