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);
    /**
     * Add URLs to queue
     */
    addUrls(urls: string[]): void;
    /**
     * Get next URL from queue
     */
    getNextUrl(): QueuedUrl | null;
    /**
     * Mark URL as completed
     */
    markCompleted(url: string, result: any): void;
    /**
     * Mark URL as failed
     */
    markFailed(url: string, error: string): void;
    /**
     * Get queue status
     */
    getStatus(): {
        total: number;
        pending: number;
        inProgress: number;
        completed: number;
        failed: number;
        progress: number;
    };
    /**
     * Get all completed results
     */
    getCompletedResults(): any[];
    /**
     * Get all failed results
     */
    getFailedResults(): any[];
    /**
     * Show queue statistics
     */
    showStats(): void;
    /**
     * Calculate priority for URL
     */
    private calculatePriority;
    /**
     * Clear queue
     */
    clear(): void;
    /**
     * Retry failed URLs
     */
    retryFailed(): void;
}
//# sourceMappingURL=simple-queue.d.ts.map