import type { LlmAdapter, LlmAdapterCreateInput, LlmProvider, LlmProviderResolutionInput } from '../types.js';
import type { LlmProviderAdapter, LlmProviderRegistryInput } from './types.js';
/**
 * Resolves model/provider requests to concrete provider adapters. The agent
 * loop depends on the LLM port; this registry is the provider adapter boundary.
 */
export declare class LlmProviderRegistry {
    private readonly providersById;
    private readonly providers;
    private readonly defaultProvider;
    constructor(input: LlmProviderRegistryInput);
    resolveProvider(input?: LlmProviderResolutionInput): LlmProviderAdapter;
    createAdapter(input?: LlmAdapterCreateInput): LlmAdapter;
    inferProvider(model?: string): LlmProvider;
    listProviders(): LlmProvider[];
}
//# sourceMappingURL=llm-provider-registry.d.ts.map