/** * [WHO]: ApiProvider, registerApiProvider, registerApiProviderLoader, getApiProvider, ensureApiProvider, reset helpers * [FROM]: Depends on core AI stream/model types for provider contracts * [TO]: Consumed by core/lib/ai/src/stream.ts and providers/register-builtins.ts for provider dispatch * [HERE]: core/lib/ai/src/api-registry.ts - provider registry plus runtime lazy-loader registry */ import type { Api, AssistantMessageEventStreamContract, Context, Model, SimpleStreamOptions, StreamFunction, StreamOptions } from "./types.js"; export type ApiStreamFunction = (model: Model, context: Context, options?: StreamOptions) => AssistantMessageEventStreamContract; export type ApiStreamSimpleFunction = (model: Model, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStreamContract; export interface ApiProvider { api: TApi; stream: StreamFunction; streamSimple: StreamFunction; } export interface ApiProviderInternal { api: Api; stream: ApiStreamFunction; streamSimple: ApiStreamSimpleFunction; } export type ApiProviderLoader = () => Promise>; export declare function registerApiProvider(provider: ApiProvider, sourceId?: string): void; export declare function registerApiProviderLoader(api: TApi, loader: ApiProviderLoader, sourceId?: string): void; export declare function getApiProvider(api: Api): ApiProviderInternal | undefined; export declare function ensureApiProvider(api: Api): Promise; export declare function getApiProviders(): ApiProviderInternal[]; export declare function unregisterApiProviders(sourceId: string): void; export declare function clearApiProviders(): void;