import { type Api, type AssistantMessageEventStream, type Context, type Model, type OpenAICodexResponsesOptions, type OpenAIResponsesOptions, type SimpleStreamOptions, type ThinkingLevel } from "@earendil-works/pi-ai/compat";
import type { OrchestrationContext } from "./extensions/index.ts";
export declare const CODEX_FAST_MODE_SERVICE_TIER: "priority";
export interface CodexFastModeResolvedSettings {
    chat: boolean;
    workflow: boolean;
}
export type CodexFastModeScope = "chat" | "workflow";
export interface CodexFastModeStreamOptions extends SimpleStreamOptions {
    serviceTier?: typeof CODEX_FAST_MODE_SERVICE_TIER;
}
export interface CodexFastModeStreamers {
    streamSimple: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;
    streamOpenAIResponses: (model: Model<"openai-responses">, context: Context, options?: OpenAIResponsesOptions) => AssistantMessageEventStream;
    streamOpenAICodexResponses: (model: Model<"openai-codex-responses">, context: Context, options?: OpenAICodexResponsesOptions) => AssistantMessageEventStream;
}
export declare function isCodexFastModeSupportedProvider(provider: string): boolean;
export declare function isCodexFastModeCandidateModelId(modelId: string | undefined): boolean;
export declare function isCodexFastModeSupportedModel(model: Pick<Model<Api>, "provider">): boolean;
export declare function hasSupportedCodexFastModeModel(models: readonly Pick<Model<Api>, "provider">[]): boolean;
export declare function isWorkflowStageOrchestrationContext(context: OrchestrationContext | undefined): boolean;
export declare function getCodexFastModeScope(context: OrchestrationContext | undefined): CodexFastModeScope;
export declare function isCodexFastModeEnabledForScope(settings: CodexFastModeResolvedSettings, scope: CodexFastModeScope): boolean;
export declare function isCodexFastModeEnabledForSession(settings: CodexFastModeResolvedSettings, context: OrchestrationContext | undefined): boolean;
export declare function shouldApplyCodexFastModeForScope(model: Pick<Model<Api>, "provider">, settings: CodexFastModeResolvedSettings, scope: CodexFastModeScope): boolean;
export declare function shouldApplyCodexFastMode(model: Pick<Model<Api>, "provider">, settings: CodexFastModeResolvedSettings, context: OrchestrationContext | undefined): boolean;
export declare function withCodexFastModeStreamOptions(options: SimpleStreamOptions | undefined, enabled: boolean): CodexFastModeStreamOptions | undefined;
export declare function isCodexFastModeNativeApi(api: Api): api is "openai-responses" | "openai-codex-responses";
export declare function shouldUseNativeCodexFastMode(model: Pick<Model<Api>, "api" | "provider">, options: CodexFastModeStreamOptions | undefined): boolean;
export declare function mapCodexFastModeReasoningEffort(model: Model<Api>, reasoning: ThinkingLevel | undefined): ThinkingLevel | undefined;
export declare function buildOpenAIResponsesCodexFastModeOptions(model: Model<Api>, options: CodexFastModeStreamOptions | undefined): OpenAIResponsesOptions;
export declare function buildOpenAICodexResponsesCodexFastModeOptions(model: Model<Api>, options: CodexFastModeStreamOptions | undefined): OpenAICodexResponsesOptions;
export declare function streamWithCodexFastMode(model: Model<Api>, context: Context, options: CodexFastModeStreamOptions | undefined, streamers?: CodexFastModeStreamers): AssistantMessageEventStream;
export declare function withCodexFastModePayload(payload: unknown, enabled: boolean): unknown;
export declare function formatCodexFastModeModelLabel(modelName: string, enabled: boolean): string;
//# sourceMappingURL=codex-fast-mode.d.ts.map