export interface QueuedUrl {
    url: string;
    priority: number;
    status: 'pending' | 'in-progress' | 'completed' | 'failed' | 'skipped';
    attempts: number;
    lastAttempt?: Date;
    error?: string;
    result?: any;
}
export interface TestQueueOptions {
    maxRetries?: number;
    maxConcurrent?: number;
    saveInterval?: number;
    dataFile?: string;
    priorityPatterns?: Array<{
        pattern: string;
        priority: number;
    }>;
    testParameters?: {
        sitemapUrl: string;
        maxPages: number;
        pa11yStandard: string;
        timeout: number;
        collectPerformanceMetrics?: boolean;
        generateDetailedReport?: boolean;
        generatePerformanceReport?: boolean;
        generateSeoReport?: boolean;
    };
}
export declare class TestQueue {
    private queue;
    private completed;
    private failed;
    private options;
    private dataFile;
    private saveTimer?;
    constructor(options?: TestQueueOptions);
    /**
     * URLs zur Queue hinzufügen
     */
    addUrls(urls: string[]): void;
    /**
     * Nächste URL aus der Queue holen
     */
    getNextUrl(): QueuedUrl | null;
    /**
     * URL als abgeschlossen markieren
     */
    markCompleted(url: string, result: any): void;
    /**
     * URL als fehlgeschlagen markieren
     */
    markFailed(url: string, error: string): void;
    /**
     * URL überspringen
     */
    markSkipped(url: string, reason?: string): void;
    /**
     * Queue-Status abrufen
     */
    getStatus(): {
        total: number;
        pending: number;
        inProgress: number;
        completed: number;
        failed: number;
        skipped: number;
        progress: number;
    };
    /**
     * Queue speichern
     */
    saveQueue(): void;
    /**
     * Queue laden
     */
    loadQueue(): void;
    /**
     * Parameter validieren
     */
    private validateParameters;
    /**
     * Queue-Datei löschen
     */
    private clearQueueFile;
    /**
     * Auto-Save starten
     */
    private startAutoSave;
    /**
     * Auto-Save stoppen
     */
    stopAutoSave(): void;
    /**
     * Priorität für URL berechnen
     */
    private calculatePriority;
    /**
     * Queue leeren
     */
    clear(): void;
    /**
     * Queue-Datei nach erfolgreichem Abschluss löschen
     */
    cleanup(): void;
    /**
     * Fehlgeschlagene URLs erneut versuchen
     */
    retryFailed(): void;
    /**
     * Queue-Statistiken anzeigen
     */
    showStats(): void;
}
//# sourceMappingURL=test-queue.d.ts.map