interface CodexCliFallbackMessage {
    role: "system" | "user" | "assistant";
    content: string;
}
interface CodexCliFallbackConfig {
    apiKey?: string | Record<string, unknown>;
    executable?: unknown;
    codexCliExecutable?: unknown;
    reasoningEffort?: unknown;
    codexCliReasoningEffort?: unknown;
    retryOptions?: {
        timeoutMs?: unknown;
    };
}
interface CodexCliFallbackOptions {
    timeoutMs?: number;
}
interface CodexCliFallbackResult {
    content: string;
    usage?: {
        inputTokens?: number;
        outputTokens?: number;
        totalTokens?: number;
    };
}
interface CodexCliFallbackRequest {
    config: CodexCliFallbackConfig;
    modelId: string;
    messages: CodexCliFallbackMessage[];
    options: CodexCliFallbackOptions;
}
type CodexCliFallbackRunner = (request: CodexCliFallbackRequest) => Promise<CodexCliFallbackResult>;
/**
 * Registers the process-local Codex CLI transport. Core deliberately does not
 * import child_process so host adapters such as OpenClaw do not ship shell
 * execution in their plugin bundle; benchmark/standalone runtimes opt in.
 */
declare function setCodexCliFallbackRunnerForProcess(runner: CodexCliFallbackRunner | undefined): () => void;
declare function callCodexCliFallback(config: CodexCliFallbackConfig, modelId: string, messages: CodexCliFallbackMessage[], options?: CodexCliFallbackOptions): Promise<CodexCliFallbackResult>;
declare const __codexCliFallbackTestHooks: {
    setRunCodexCliForTest: typeof setCodexCliFallbackRunnerForProcess;
};

export { type CodexCliFallbackConfig, type CodexCliFallbackMessage, type CodexCliFallbackOptions, type CodexCliFallbackRequest, type CodexCliFallbackResult, type CodexCliFallbackRunner, __codexCliFallbackTestHooks, callCodexCliFallback, setCodexCliFallbackRunnerForProcess };
