import type { Api } from "../types.js";
/**
 * Generic client configuration for provider HTTP clients.
 */
export interface ClientConfig {
    apiKey: string;
    baseUrl?: string;
    defaultHeaders?: Record<string, string>;
    timeout?: number;
}
/**
 * Builder interface for creating provider clients.
 */
export interface ClientBuilder<TClient> {
    build(config: ClientConfig): TClient;
}
/**
 * Anthropic client builder.
 */
export declare class AnthropicClientBuilder implements ClientBuilder<any> {
    build(config: ClientConfig): any;
}
/**
 * OpenAI client builder.
 */
export declare class OpenAIClientBuilder implements ClientBuilder<any> {
    build(config: ClientConfig): any;
}
/**
 * Shared client factory that resolves builders by API.
 */
export declare class ProviderClientFactory {
    private static builders;
    static register<TClient>(api: Api, builder: ClientBuilder<TClient>): void;
    static create<TClient>(api: Api, config: ClientConfig): TClient;
}
