import type { Model } from "../../types"; /** * Fetch options for OpenAI code provider model discovery. */ export interface CodexModelDiscoveryOptions { /** OAuth access token used for `Authorization: Bearer ...`. */ accessToken: string; /** ChatGPT account id value used for `chatgpt-account-id` header. */ accountId?: string; /** Base URL for OpenAI code backend backend. Defaults to `https://chatgpt.com/backend-api`. */ baseUrl?: string; /** Optional client version attached as `client_version` query parameter. */ clientVersion?: string; /** Optional endpoint path candidates. Defaults to `/OpenAI code backend/models`, then `/models`. */ paths?: readonly string[]; /** Additional headers merged on top of required OpenAI code backend headers. */ headers?: Record; /** Abort signal for network request cancellation. */ signal?: AbortSignal; /** Optional fetch implementation override for tests. */ fetchFn?: typeof fetch; /** Optional registry fetch implementation override for client version lookup. */ registryFetchFn?: typeof fetch; } /** * Normalized OpenAI code backend discovery response. */ export interface CodexModelDiscoveryResult { models: Model<"openai-codex-responses">[]; etag?: string; } /** * Fetches model metadata from OpenAI code backend backend and normalizes it for pi model management. * * Returns `null` when no supported model-list route can be fetched/parsed. * Returns `{ models: [] }` when a route succeeds but yields no usable models. */ export declare function fetchCodexModels(options: CodexModelDiscoveryOptions): Promise;