import { GenerateRequestId, GenerateResponse, TokenBatch, TransportObservability } from '../engine/inference-types.js'; import { WasmBridge } from '../wasm/wasm-bridge.js'; import { RequestTracker } from './request-tracker.js'; type SchedulerFinalizeOptions = { consumeCompletedResponse?: boolean; deleteCompletion?: boolean; }; type QueuedRequestSchedulerOptions = { tracker: RequestTracker; queuedPromptTokenBatchSinks: Map void>; queuedPromptTokenBatchSinkErrors: Map; getTransportObservability: () => TransportObservability; getBridge: () => WasmBridge; finalizeRequest: (bridge: WasmBridge, requestId: GenerateRequestId, options?: SchedulerFinalizeOptions) => void; cancelQuery: (requestId: GenerateRequestId) => Promise; withWasmBridge?: (operation: (bridge: WasmBridge) => T | Promise) => Promise; }; export declare class QueuedRequestScheduler { private readonly options; private schedulerPumpPromise; private schedulerPumpTimer; private schedulerPumpGeneration; constructor(options: QueuedRequestSchedulerOptions); reset(): void; track(requestId: GenerateRequestId): import("./request-tracker.js").RequestHandle; ensureRunning(): void; private scheduleRunning; private startPump; private requestCancellationForTokenBatchSinkErrors; settleCompletedRequestIfPresent(bridge: WasmBridge, requestId: GenerateRequestId): boolean; private settleCompletedTrackedRequests; private rejectPendingQueuedRequests; private runSchedulerPump; private withWasmBridge; private runWithCurrentBridge; private loopDurationUs; private tokenRingBridge; private tokenRingReader; private readonly tokenBatchSinkStats; private sharedTokenRingReader; private drainTokenRingObserved; private drainTokenRing; private forgetTokenBatchSinkStream; private deliverTokenBatchSinkBatch; } export {};