import type { ModelChatOptions, ModelChatResult } from "./types.js";
export declare const defaultCodexModel = "gpt-5.5";
/**
 * Resolve the Codex CLI executable. On Windows an npm-global CLI is installed
 * as `codex.cmd`/`codex.exe` rather than a bare `codex`, and Node's
 * spawn/execFile (without a shell) will not find a bare name with a PATHEXT
 * extension — so we scan PATH for the first matching launcher. Falls back to
 * the bare name (POSIX, or if nothing is found).
 */
export declare function resolveCodexExecutable(): string;
export declare const codexOAuthModels: string[];
export declare class CodexCliClient {
    private readonly workspace;
    private readonly timeoutMs;
    constructor(options: {
        workspace: string;
        timeoutMs?: number;
    });
    chat(options: ModelChatOptions): Promise<ModelChatResult>;
    listModels(): Promise<string[]>;
}
export declare function listCodexModels(): Promise<string[]>;
export declare function hasCodexCliOAuth(codexAuthPath?: string): boolean;
type CodexUsage = {
    input_tokens: number;
    cached_input_tokens?: number;
    output_tokens: number;
};
export declare function parseCodexUsageFromJsonl(value: string): CodexUsage | null;
export {};
