/**
 * Queue Manager
 * 웹훅 작업 큐 관리 시스템
 */
import { EventEmitter } from "events";
import type { DispatchJob, QueueConfig } from "./types";
export declare class QueueManager extends EventEmitter {
    private config;
    private queues;
    private highPriorityQueue;
    private mediumPriorityQueue;
    private lowPriorityQueue;
    private delayedJobs;
    private totalJobs;
    private defaultConfig;
    constructor(config?: Partial<QueueConfig>);
    /**
     * 작업을 큐에 추가
     */
    enqueue(job: DispatchJob): Promise<boolean>;
    /**
     * 우선순위에 따라 작업 추출
     */
    dequeue(): Promise<DispatchJob | null>;
    /**
     * 특정 우선순위 큐에서 작업 추출
     */
    dequeueFromPriority(priority: number): Promise<DispatchJob | null>;
    /**
     * 작업 상태 확인
     */
    peek(): DispatchJob | null;
    /**
     * 특정 작업 제거
     */
    removeJob(jobId: string): Promise<boolean>;
    /**
     * 큐 통계 조회
     */
    getStats(): {
        totalJobs: number;
        highPriorityJobs: number;
        mediumPriorityJobs: number;
        lowPriorityJobs: number;
        delayedJobs: number;
        queueUtilization: number;
    };
    /**
     * 큐 비우기
     */
    clear(): Promise<void>;
    /**
     * 만료된 작업 정리
     */
    cleanupExpiredJobs(): Promise<number>;
    /**
     * 우선순위 숫자를 큐 이름으로 변환
     */
    private getQueueName;
    /**
     * 지연된 작업 스케줄링
     */
    private scheduleDelayedJob;
    /**
     * TTL 정리 작업 시작
     */
    private startTTLCleanup;
    /**
     * 디스크에 큐 상태 저장
     */
    private saveToDisk;
    /**
     * 디스크에서 큐 상태 로드
     */
    private loadFromDisk;
    /**
     * 큐 관리자 종료
     */
    shutdown(): Promise<void>;
}
