import type { TokenCacheStats, OptimizationReport, ToolTokenRecord } from '../../types/index.js';
/**
 * Tracks per-tool token consumption and generates optimization reports.
 */
export declare class OptimizationReporter {
    private readonly toolRecords;
    private totalProcessed;
    private totalSaved;
    private compressionRatioSum;
    private compressionCount;
    private deduplicationRatioSum;
    private deduplicationCount;
    /**
     * Record tokens processed by a tool.
     */
    recordUsage(toolName: string, tokens: number): void;
    /**
     * Record a cache hit for a tool.
     */
    recordCacheHit(toolName: string, tokensSaved: number): void;
    /**
     * Record a cache miss for a tool.
     */
    recordCacheMiss(toolName: string): void;
    /**
     * Record compression ratio achieved.
     */
    recordCompression(ratio: number): void;
    /**
     * Record deduplication ratio achieved.
     */
    recordDeduplication(ratio: number): void;
    /**
     * Get records for all tools.
     */
    getToolRecords(): ToolTokenRecord[];
    /**
     * Generate full optimization report.
     */
    generateReport(sessionId: string, cacheStats: TokenCacheStats): OptimizationReport;
    /**
     * Format report as human-readable text.
     */
    formatReport(report: OptimizationReport): string;
    /**
     * Reset all tracking data.
     */
    reset(): void;
    private getOrCreateRecord;
}
//# sourceMappingURL=reporter.d.ts.map