import { type ModelPricing } from './pricing.js';
import type { CostEntry, CostTrend, ProviderCostComparison, TaskCostSummary } from './types.js';
/**
 * In-memory cost tracker that accumulates CostEntry records.
 *
 * Provides summarization, provider comparison, and trending.
 * Serializable via toJSON/fromJSON for persistence.
 */
export declare class CostTracker {
    private entries;
    private customPricing?;
    constructor(customPricing?: Record<string, ModelPricing>);
    /**
     * Record a cost entry. Cost is calculated automatically from token counts and model pricing.
     */
    record(entry: Omit<CostEntry, 'costUsd'>): void;
    /**
     * Summarize all cost entries for a given task.
     */
    summarize(taskId: string): TaskCostSummary;
    /**
     * Compare costs across providers/models for a given task.
     */
    compare(taskId: string): ProviderCostComparison;
    /**
     * Generate cost trend data points aggregated by date.
     * @param periodDays Number of days to include (default 30)
     */
    trend(periodDays?: number): CostTrend;
    /**
     * Serialize all entries for persistence.
     */
    toJSON(): CostEntry[];
    /**
     * Restore a CostTracker from persisted entries.
     */
    static fromJSON(entries: CostEntry[]): CostTracker;
}
//# sourceMappingURL=tracker.d.ts.map