/**
 * Performance monitoring for DataPilot CLI
 * Tracks memory usage, CPU, throughput, and other metrics
 */
export interface PerformanceMetrics {
    timestamp: number;
    memory: {
        heapUsed: number;
        heapTotal: number;
        external: number;
        rss: number;
    };
    cpu: {
        user: number;
        system: number;
        percent: number;
    };
    throughput?: {
        rowsPerSecond: number;
        bytesPerSecond: number;
    };
    phase?: {
        name: string;
        metrics: {
            duration: number;
            memoryDelta: number;
            cpuTime: number;
            rowsProcessed?: number;
        };
    };
}
export interface PerformanceReport {
    summary: {
        totalDuration: number;
        peakMemoryMB: number;
        avgMemoryMB: number;
        avgCpuPercent: number;
        totalRowsProcessed: number;
        avgThroughput: number;
    };
    phases: {
        [phase: string]: {
            duration: number;
            memoryDelta: number;
            cpuTime: number;
            rowsProcessed?: number;
        };
    };
    warnings: string[];
    timeline: PerformanceMetrics[];
}
export declare class PerformanceMonitor {
    private startTime;
    private metrics;
    private phaseMarkers;
    private monitoringInterval?;
    private lastCpuUsage?;
    private totalRowsProcessed;
    private enabled;
    private sampleInterval;
    private memoryThreshold;
    constructor(options?: {
        enabled?: boolean;
        sampleInterval?: number;
        memoryThreshold?: number;
    });
    /**
     * Start performance monitoring
     */
    start(): void;
    /**
     * Stop performance monitoring
     */
    stop(): PerformanceReport;
    /**
     * Mark the start of a phase
     */
    startPhase(phaseName: string): void;
    /**
     * Mark the end of a phase
     */
    endPhase(phaseName: string, rowsProcessed?: number): void;
    /**
     * Update row processing count
     */
    updateRowCount(rows: number): void;
    /**
     * Collect current performance metrics
     */
    private collectMetrics;
    /**
     * Get current performance metrics
     */
    private getCurrentMetrics;
    /**
     * Calculate CPU usage percentage
     */
    private getCpuUsage;
    /**
     * Calculate current throughput
     */
    private calculateThroughput;
    /**
     * Check performance thresholds and emit warnings
     */
    private checkThresholds;
    /**
     * Generate performance report
     */
    private generateReport;
    /**
     * Format performance report for display
     */
    static formatReport(report: PerformanceReport): string;
}
//# sourceMappingURL=performance-monitor.d.ts.map