import type { AIProviderConfig, LLMClient } from './types/index.js';
export declare class ConfigurationError extends Error {
    configPath: string;
    cwdPath?: string | undefined;
    isEmptyConfig: boolean;
    constructor(message: string, configPath: string, cwdPath?: string | undefined, isEmptyConfig?: boolean);
}
export declare function createLLMClient(provider?: string, model?: string, overrides?: Partial<Pick<AIProviderConfig, 'contextWindow' | 'contextWindows'>>): Promise<{
    client: LLMClient;
    actualProvider: string;
}>;
/**
 * Translate user-facing `ProviderConfig` entries (the shape stored in
 * `agents.config.json`) into the resolved `AIProviderConfig` shape consumed
 * by the AI SDK client. Exported so tests can assert the translation —
 * notably that the `openrouter` block is threaded through cleanly.
 */
export declare function loadProviderConfigs(): AIProviderConfig[];
//# sourceMappingURL=client-factory.d.ts.map