interface ITaskQueueNode { value: ValueType; next?: ITaskQueueNode; prev?: ITaskQueueNode; } /** * Task queue implemented with doubly linked list */ export declare class TaskQueue { private head?; private tail?; [Symbol.iterator](): Iterator>; /** * Puts new task at the end of the list * @param task Task to add to the queue */ enqueue(task: ValueType): void; /** * Remove a task node from the queue * @param taskNode Queue's node to remove */ remove(taskNode: ITaskQueueNode): void; } export {};