import { GenericClient, CompletionOptions, CompletionResponse, EmbeddingOptions, EmbeddingResponse } from "./types";
import { ModelPricing } from "./pricing/types";
export interface HttpClientOptions {
    headers?: Record<string, string>;
    timeout?: number;
    extra_body?: Record<string, any>;
}
export declare class HttpClient implements GenericClient {
    private baseUrl;
    private timeout;
    private headers;
    private extra_body;
    private pricingMap;
    constructor(baseUrl: string, options?: HttpClientOptions);
    private withRetry;
    setJwt(jwt: string): void;
    setBaseUrl(baseUrl: string): void;
    setKey(key: string): void;
    setPrices(pricingMap: Record<string, ModelPricing>): void;
    calculateCost(model: string, usage: {
        prompt_tokens?: number;
        completion_tokens?: number;
        prompt_tokens_details?: {
            cached_tokens?: number;
        };
    } | undefined): number | undefined;
    setOptions(options: Omit<HttpClientOptions, "headers"> & {
        headers?: Record<string, string>;
    }): void;
    loadJwtFile(filePath: string): void;
    createChatCompletion(options: CompletionOptions): Promise<CompletionResponse>;
    createResponse(options: CompletionOptions, store?: boolean): Promise<CompletionResponse>;
    createEmbedding(options: EmbeddingOptions): Promise<EmbeddingResponse>;
    getModels(type?: string): Promise<any>;
}
