import type { LiteLLMModelInfo, LiteLLMPluginOptions, OpenCodeModel, OpenCodeModelV2, OpenCodeProvider, OpenCodeProviderV2 } from "./types.js"; export type ModelListResponseShape = { type: string; length?: number; keyCount?: number; arrayFields?: string[]; objectValueCount?: number; scalarValueCount?: number; }; export declare function modelListResponseShape(value: unknown): ModelListResponseShape; export declare function mergeModelInfo(deployments: LiteLLMModelInfo[], groups: LiteLLMModelInfo[]): LiteLLMModelInfo[]; export declare function normalizeModelListResponse(response: unknown): LiteLLMModelInfo[]; export declare function isDeepSeekV4ReasoningModel(name: string | undefined): boolean; export declare function isQwen38ReasoningModel(name: string | undefined): boolean; export declare function isContractReasoningModel(name: string | undefined): boolean; export declare function addOpenCodeVariantTombstones(provider: OpenCodeProvider): OpenCodeProvider; export declare function mapModels(response: unknown, options?: LiteLLMPluginOptions): { [k: string]: OpenCodeModel; }; export declare function buildProvider(models: unknown, options?: LiteLLMPluginOptions): OpenCodeProvider; export declare function mapModelsV2(models: unknown, options?: LiteLLMPluginOptions): { [k: string]: OpenCodeModelV2 | { variants: { id: string; body: { [x: string]: unknown; }; }[]; family?: string; name?: string; api?: { id?: string; type: "aisdk"; package: string; url?: string; settings?: import("./types.js").JsonObject; }; capabilities?: { tools: boolean; reasoning: boolean; attachment: boolean; input: string[]; output: string[]; }; request?: { headers?: Record; body?: import("./types.js").JsonObject; variant?: string; }; cost?: { input: number; output: number; cache?: { read?: number; write?: number; }; }; disabled?: boolean; limit?: { context?: number; input?: number; output?: number; }; }; }; export declare function buildProviderV2(models: unknown, options?: LiteLLMPluginOptions): OpenCodeProviderV2;