import type { ProviderV3, ProviderV4 } from "@ai-sdk/provider"; import type { ModelCatalog, ModelId } from "../models/types"; import type { ProviderRegistry } from "./types"; export declare const resolveProvider: (args: { providers: ProviderRegistry; models: ModelCatalog; modelId: ModelId; operation: "chat" | "embeddings" | "messages" | "responses"; }) => ProviderV4; export type CanonicalIdsOptions = { mapping?: Partial>; options?: { /** @default true */ stripNamespace?: boolean; /** @default false */ normalizeDelimiters?: boolean | readonly string[]; prefix?: string; template?: Record; postfix?: string; /** @default "/" */ namespaceSeparator?: "/" | "." | ":"; }; }; /** * `provider` also accepts the previous (`v3`) specification because some * community providers still target it (voyage, zhipu). The returned provider is * always `v4`: `customProvider` normalizes the fallback for us. */ export declare const withCanonicalIds: (provider: ProviderV3 | ProviderV4, config?: CanonicalIdsOptions) => ProviderV4;