import type { LLMProviderDefinition, LLMProviderAdapter, LLMModelDefinition, ProviderHealthResult, LLMProviderId, ApiKeyStatus } from '../../types/index.js';
/**
 * Base adapter implementation shared by all providers.
 * Validates config and reports status without making real API calls.
 */
export declare class BaseProviderAdapter implements LLMProviderAdapter {
    readonly providerId: LLMProviderId;
    protected readonly definition: LLMProviderDefinition;
    constructor(definition: LLMProviderDefinition);
    checkHealth(): ProviderHealthResult;
    getModels(): LLMModelDefinition[];
    estimateCost(inputTokens: number, outputTokens: number, modelId?: string): number;
    getStatus(): ProviderHealthResult;
    protected getApiKeyStatus(): ApiKeyStatus;
    private buildHealthDetails;
}
/** Ollama-specific adapter: no API key required, checks local port. */
export declare class OllamaAdapter extends BaseProviderAdapter {
    checkHealth(): ProviderHealthResult;
}
/**
 * Factory function to create the appropriate adapter for a provider.
 */
export declare function createProviderAdapter(definition: LLMProviderDefinition): LLMProviderAdapter;
//# sourceMappingURL=provider-adapter.d.ts.map