import { IncomingMessage, ServerResponse } from 'node:http'; import { Logger } from './logger'; export interface QueuedRequest { req: IncomingMessage; res: ServerResponse; origin: string; callback: () => void; timeoutHandle?: NodeJS.Timeout; queuedAt: number; } export interface RequestQueueOptions { maxQueueSize?: number; queueTimeout?: number; } export declare class RequestQueue { private queue; private maxQueueSize; private queueTimeout; private logger?; private totalQueued; constructor(logger?: Logger, options?: RequestQueueOptions); enqueue(origin: string, req: IncomingMessage, res: ServerResponse, callback: () => void): boolean; dequeue(origin: string): QueuedRequest | null; private removeRequest; getQueueDepth(origin?: string): number; clear(): void; } //# sourceMappingURL=request-queue.d.ts.map