| 1234567891011121314151617181920212223242526272829303132333435363738394041 | /** * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */import type { QueueChildMessage, TaskQueue } from './types';export declare type ComputeTaskPriorityCallback = (method: string, ...args: Array<unknown>) => number;declare type QueueItem = {    task: QueueChildMessage;    priority: number;};/** * Priority queue that processes tasks in natural ordering (lower priority first) * accoridng to the priority computed by the function passed in the constructor. * * FIFO ordering isn't guaranteed for tasks with the same priority. * * Worker specific tasks with the same priority as a non-worker specific task * are always processed first. */export default class PriorityQueue implements TaskQueue {    private _computePriority;    private _queue;    private _sharedQueue;    constructor(_computePriority: ComputeTaskPriorityCallback);    enqueue(task: QueueChildMessage, workerId?: number): void;    _enqueue(task: QueueChildMessage, queue: MinHeap<QueueItem>): void;    dequeue(workerId: number): QueueChildMessage | null;    _getWorkerQueue(workerId: number): MinHeap<QueueItem>;}declare type HeapItem = {    priority: number;};declare class MinHeap<TItem extends HeapItem> {    private _heap;    peek(): TItem | null;    add(item: TItem): void;    poll(): TItem | null;}export {};
 |