import type { AIProvider, ModelConfig, ProviderResolver } from "./contracts.js"; import { type DuplicateRegistrationOptions } from "./registry-options.js"; export interface ProviderRegistry { register(provider: AIProvider): void; /** Remove a provider; returns false when the id was not registered. */ unregister(id: string): boolean; get(id: string): AIProvider | undefined; resolve(model: Pick | string): AIProvider; list(): readonly AIProvider[]; } export interface ProviderRegistryOptions extends DuplicateRegistrationOptions { } export declare function createProviderRegistry(providers?: readonly AIProvider[], options?: ProviderRegistryOptions): ProviderRegistry; export declare function createProviderResolver(source: ProviderRegistry | readonly AIProvider[]): ProviderResolver;