cost-claude
Version:
Claude Code cost monitoring, analytics, and optimization toolkit
44 lines • 1.35 kB
TypeScript
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