/**
 * Module: llm/gen/codex
 *
 * ChatGPT Codex responses integration (streaming-only).
 * Isolation principle: this wrapper owns Codex-native request/stream semantics and must not reuse
 * OpenAI Responses parameter namespaces or event interpretations.
 */
import type { ChatGptResponsesRequest, ChatGptTool } from '@longrun-ai/codex-auth';
import type { Team } from '../../team';
import type { FuncTool } from '../../tool';
import type { ChatMessage, ProviderConfig } from '../client';
import type { LlmBatchResult, LlmFailureDisposition, LlmGenerator, LlmRequestContext, LlmStreamReceiver, LlmStreamResult } from '../gen';
type CodexToolChoice = 'none' | 'auto' | 'required';
export declare function resolveCodexToolChoice(tools: readonly ChatGptTool[], requestContext: LlmRequestContext): CodexToolChoice;
export declare function resolveCodexServiceTier(serviceTier: ChatGptResponsesRequest['service_tier'] | undefined): Exclude<NonNullable<ChatGptResponsesRequest['service_tier']>, 'default'> | undefined;
export declare function resolveCodexInstructions(systemPrompt: string): string;
export declare class CodexGen 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): Promise<LlmBatchResult>;
}
export {};
