import { i as WorkerInstance, n as WorkerRequestMessage } from "../worker-message-b803N7ST.mjs";
import { n as IWorkerHandlerRegistry, t as IWorkerMessageQueue } from "../worker-queue-BJK3jKsH.mjs";

//#region src/helpers/worker-handler-registry.d.ts
declare class WorkerHandlerRegistry implements IWorkerHandlerRegistry {
  private readonly handlers;
  register(requestType: string, handler: WorkerInstance<any, any>): void;
  resolve(requestType: string): WorkerInstance<any, any> | undefined;
}
//#endregion
//#region src/helpers/worker-message-queue.d.ts
declare class WorkerMessageQueue implements IWorkerMessageQueue {
  private _queue;
  private _head;
  private _enqueueTimes;
  private _stalledEntries;
  private _recentStalledWaitTimesMs;
  constructor();
  get size(): number;
  get queue(): WorkerRequestMessage<any>[];
  enqueue(message: WorkerRequestMessage<any>): void;
  dequeue(): WorkerRequestMessage<any>;
  /** Marks all currently queued messages as stalled until they are eventually dispatched. */
  markAllAsStalled(): void;
  /** Returns and clears wait times for messages that previously stalled before dispatch. */
  flushWaitTimes(): number[];
  peek(): WorkerRequestMessage<any>;
  clear(): void;
}
//#endregion
export { WorkerHandlerRegistry, WorkerMessageQueue };
//# sourceMappingURL=index.d.mts.map