import { ModelPrice } from './pricing/PriceTable';
export type ModelTotals = {
    promptTokens: number;
    completionTokens: number;
    promptCost: number;
    completionCost: number;
};
export declare class CostTracker {
    private totals;
    private startTime;
    constructor();
    add(model: string, promptTokens: number, completionTokens: number, price: ModelPrice): void;
    /** Raw map for callers to format as they wish */
    snapshot(): Map<string, ModelTotals>;
    /** Grand total across all models */
    grandTotal(): number;
    /** Total token count across all models */
    totalTokens(): {
        prompt: number;
        completion: number;
    };
    /** Get tracking duration in seconds */
    getDuration(): number;
    /** Reset all tracking data */
    reset(): void;
    /** Get summary statistics */
    getSummary(): {
        models: string[];
        totalCost: number;
        totalTokens: {
            prompt: number;
            completion: number;
        };
        duration: number;
        modelBreakdown: Array<{
            model: string;
            tokens: {
                prompt: number;
                completion: number;
            };
            cost: {
                prompt: number;
                completion: number;
                total: number;
            };
        }>;
    };
}
//# sourceMappingURL=CostTracker.d.ts.map