/** * Lazy catalog wrapping the runtime provider registry. * * Callers that need plugin-contributed providers (e.g. config setup) must * call initializePlugins() before querying this catalog. */ import type { ProviderDescriptor } from '../plugins/plugin-api.types.js'; export interface ProviderCatalog { /** Returns all provider keys that have been registered in the runtime registry. */ getAllProviderKeys(): string[]; /** Returns the descriptor for a provider registered with one, or undefined for bare registrations. */ getProviderMetadata(key: string): ProviderDescriptor | undefined; /** Returns unique models for a provider with a descriptor; empty array for bare registrations. */ getProviderModels(key: string): string[]; /** Returns the default model for a provider with a descriptor, or undefined. */ getDefaultModel(key: string): string | undefined; /** Returns descriptors for all providers where requiresApiKey is true. */ getProvidersRequiringApiKey(): ProviderDescriptor[]; /** Returns descriptors for all providers where requiresApiKey is false. */ getProvidersWithoutApiKey(): ProviderDescriptor[]; /** Returns true when the model exists in the provider's descriptor modelModes. */ hasModel(key: string, model: string): boolean; /** Iterates only entries that have a descriptor (skips bare-class registrations). */ descriptors(): IterableIterator<[string, ProviderDescriptor]>; } /** * Returns the shared ProviderCatalog instance, creating it on first call. */ export declare function getProviderCatalog(): ProviderCatalog; /** * Resets the cached instance. Intended for use in tests only. */ export declare function resetProviderCatalogForTests(): void; //# sourceMappingURL=provider-catalog.d.ts.map