export interface QueuedUrl {
    url: string;
    priority: number;
    status: 'pending' | 'in-progress' | 'completed' | 'failed';
    attempts: number;
    result?: any;
    error?: string;
}
export interface SimpleQueueOptions {
    maxRetries?: number;
    maxConcurrent?: number;
    priorityPatterns?: Array<{
        pattern: string;
        priority: number;
    }>;
}
export declare class SimpleQueue {
    private queue;
    private completed;
    private failed;
    private options;
    constructor(options?: SimpleQueueOptions);
    /**
     * 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;
    /**
     * Queue-Status abrufen
     */
    getStatus(): {
        total: number;
        pending: number;
        inProgress: number;
        completed: number;
        failed: number;
        progress: number;
    };
    /**
     * Alle abgeschlossenen Ergebnisse abrufen
     */
    getCompletedResults(): any[];
    /**
     * Alle fehlgeschlagenen Ergebnisse abrufen
     */
    getFailedResults(): any[];
    /**
     * Queue-Statistiken anzeigen
     */
    showStats(): void;
    /**
     * Priorität für URL berechnen
     */
    private calculatePriority;
    /**
     * Queue leeren
     */
    clear(): void;
    /**
     * Fehlgeschlagene URLs erneut versuchen
     */
    retryFailed(): void;
}
//# sourceMappingURL=simple-queue.d.ts.map