/**
 * Module: llm/gen/openai
 *
 * OpenAI Responses API integration implementing streaming and batch generation.
 * Isolation principle: this wrapper owns OpenAI Responses request/stream semantics and must not
 * inherit Codex-specific abstractions or parameter aliases.
 */
import type { ResponseInputItem, Tool } from 'openai/resources/responses/responses';
import type { Team } from '../../team';
import type { FuncTool } from '../../tool';
import type { ChatMessage, ProviderConfig } from '../client';
import { type LlmBatchResult, type LlmFailureDisposition, type LlmGenerator, type LlmRequestContext, type LlmStreamReceiver, type LlmStreamResult } from '../gen';
export declare function resolveOpenAiToolChoice(tools: readonly Tool[], requestContext: LlmRequestContext): 'none' | 'auto' | 'required';
export declare function buildOpenAiRequestInputWrapper(context: ChatMessage[], providerConfig?: ProviderConfig): Promise<ResponseInputItem[]>;
export declare class OpenAiGen implements LlmGenerator {
    get apiType(): string;
    classifyFailure(error: unknown): LlmFailureDisposition | undefined;
    genToReceiver(providerConfig: ProviderConfig, agent: Team.Member, systemPrompt: string, funcTools: FuncTool[], requestContext: LlmRequestContext, context: ChatMessage[], receiver: LlmStreamReceiver, _genseq: number, abortSignal?: AbortSignal): Promise<LlmStreamResult>;
    genMoreMessages(providerConfig: ProviderConfig, agent: Team.Member, systemPrompt: string, funcTools: FuncTool[], requestContext: LlmRequestContext, context: ChatMessage[], genseq: number, abortSignal?: AbortSignal): Promise<LlmBatchResult>;
}
