import { type LlmProvider } from "./provider.js"; import type { CompatibleUsageAliases } from "./token-usage.js"; import { type CustomProviderProfileSpec } from "./custom-provider-profile.js"; export type CustomProviderApi = "chat-completions" | "responses" | "anthropic-messages"; export interface CustomProviderDef { readonly id: string; readonly displayName: string; readonly baseUrl: string; readonly envVar?: string | undefined; readonly keyEnv?: string | undefined; readonly baseUrlEnv?: string | undefined; readonly defaultModel: string; readonly api?: CustomProviderApi | undefined; readonly usageAliases?: CompatibleUsageAliases | undefined; readonly profile?: CustomProviderProfileSpec | undefined; } export declare function customProviderProfileErrors(def: CustomProviderDef): string[]; export declare function buildCustomProvider(def: CustomProviderDef): LlmProvider; export declare function getCustomProviderIds(): Promise; export declare function findCustomProviderDef(id: string, defs: readonly CustomProviderDef[]): CustomProviderDef | undefined; export declare function getCustomProvider(id: string): Promise; export declare function getCustomProviderSync(id: string): LlmProvider | undefined; export declare function invalidateCustomProviderCache(id?: string): void; export declare function materializeCustomProvider(def: CustomProviderDef): LlmProvider; export declare function normalizeCustomProviderId(raw: string, existing: readonly string[]): string; export declare function normalizeCustomBaseUrl(raw: string): string;