import { RateConfig } from '../types/index.js';
export interface ModelPricing {
    modelId: string;
    modelName: string;
    input: number;
    output: number;
    cacheCreation?: number;
    cacheRead?: number;
    perTokens: number;
    currency: string;
    lastUpdated: string;
    source: 'remote' | 'local' | 'default';
}
export interface PricingCache {
    models: Record<string, ModelPricing>;
    lastFetch: string;
    expiresAt: string;
}
export declare class PricingService {
    private static instance;
    private cachePath;
    private cacheDir;
    private currentModel;
    private cache;
    private readonly CACHE_DURATION_MS;
    private readonly PRICING_URLS;
    private constructor();
    static getInstance(model?: string): PricingService;
    private ensureCacheDirectory;
    private loadCache;
    private saveCache;
    private fetchRemotePricing;
    private getDefaultPricing;
    refreshPricing(): Promise<void>;
    ensurePricing(): Promise<void>;
    getPricing(modelId?: string): Promise<ModelPricing | null>;
    getRateConfig(modelId?: string): Promise<RateConfig | null>;
    getAllModels(): Promise<ModelPricing[]>;
    setModel(modelId: string): void;
    getModel(): string;
    addCustomPricing(pricing: ModelPricing): Promise<void>;
    clearCache(): void;
}
//# sourceMappingURL=pricing-service.d.ts.map