/**
 * Audit Debugger
 * Debugging and monitoring utilities for audit execution
 */
import { TestSummary } from '../types';
export interface DebugSnapshot {
    timestamp: string;
    totalPages: number;
    completedPages: number;
    failedPages: number;
    currentPage?: string;
    memoryUsage: NodeJS.MemoryUsage;
    elapsedTime: number;
    averagePageTime: number;
    estimatedTimeRemaining: number;
}
export interface AuditDebugOptions {
    enableSnapshots?: boolean;
    snapshotInterval?: number;
    saveDebugData?: boolean;
    debugOutputDir?: string;
    logMemoryWarnings?: boolean;
    memoryWarningThreshold?: number;
}
export declare class AuditDebugger {
    private logger;
    private options;
    private snapshots;
    private startTime;
    private snapshotTimer?;
    constructor(options?: AuditDebugOptions);
    /**
     * Start debugging session
     */
    startSession(): void;
    /**
     * End debugging session
     */
    endSession(): void;
    /**
     * Take a debug snapshot
     */
    takeSnapshot(totalPages: number, completedPages: number, failedPages: number, currentPage?: string): DebugSnapshot;
    /**
     * Log current progress
     */
    logProgress(snapshot: DebugSnapshot): void;
    /**
     * Check memory usage and warn if high
     */
    private checkMemoryUsage;
    /**
     * Start automatic snapshot timer
     */
    private startSnapshotTimer;
    /**
     * Save debug snapshots to file
     */
    private saveSnapshotsToFile;
    /**
     * Save detailed audit results for debugging
     */
    saveAuditDebugData(summary: TestSummary, filename?: string): void;
    /**
     * Generate performance report
     */
    generatePerformanceReport(): string;
    /**
     * Ensure debug directory exists
     */
    private ensureDebugDir;
}
//# sourceMappingURL=audit-debugger.d.ts.map