///
import { EventEmitter } from "stream";
import { PinoLogger } from "../logger";
import { TaskQueue } from "../../interfaces";
declare class Task {
name: string;
protected handler: any;
protected doneFn: any;
protected logger: PinoLogger;
isDone: boolean;
constructor(name: string, handler: any, doneFn: any);
run(): Promise;
}
declare class Queue {
protected queueName: string;
protected logger: PinoLogger;
protected eventEmitter: EventEmitter;
isRunning: boolean;
tasks: Task[];
protected _interval: any;
constructor(queueName: string);
onExhausted(callback: any): void;
protected runNextTask(): Promise;
protected run(): Promise;
add(task: Task): void;
}
export declare class SyncTaskQueue implements TaskQueue {
protected logger: PinoLogger;
protected queueList: Map;
push(queueName: string, name: string, handler: any): Promise;
}
export {};