import { Logger } from './logger';
export interface PerformanceMetrics {
    processingTime: number;
    memoryUsage: {
        heapUsed: number;
        heapTotal: number;
        external: number;
        rss: number;
    };
    tokensProcessed: number;
    fileSize: number;
    throughput: number;
}
export interface PerformanceBenchmark {
    baseline: PerformanceMetrics;
    optimized: PerformanceMetrics;
    improvement: {
        processingTimeReduction: number;
        memoryReduction: number;
        throughputIncrease: number;
    };
}
export declare class PerformanceMonitor {
    private logger;
    private startTime;
    private startMemory;
    constructor(logger?: Logger);
    startMonitoring(): void;
    stopMonitoring(tokensProcessed: number, fileSize: number): PerformanceMetrics;
    getMemoryUsage(): NodeJS.MemoryUsage;
    static compareBenchmarks(baseline: PerformanceMetrics, optimized: PerformanceMetrics): PerformanceBenchmark;
    private logMetrics;
    static generateReport(benchmarks: PerformanceBenchmark[]): string;
}
export declare class OptimizedStringBuilder {
    private chunks;
    private totalLength;
    private readonly chunkSizeLimit;
    constructor(chunkSizeLimit?: number);
    append(content: string): void;
    toString(): string;
    get length(): number;
    clear(): void;
    private consolidate;
}
//# sourceMappingURL=performance-monitor.d.ts.map