import { type RuntimeCapacityMode } from "./runtime-capacity-policy.js"; import { type RuntimeWorkerRegistry } from "./runtime-worker-registry.js"; import type { RuntimeCapacitySchedulerEvent, RuntimeCapacityScope, RuntimeCapacitySnapshot, RuntimeQuotaPolicy, RuntimeScheduleDecision, RuntimeScheduleRequest } from "./types.js"; export interface RuntimeCapacitySchedulerOptions { mode?: RuntimeCapacityMode; defaultScope?: RuntimeCapacityScope; platformPolicy?: RuntimeQuotaPolicy; tenantPolicy?: RuntimeQuotaPolicy; workspacePolicy?: RuntimeQuotaPolicy; registry?: RuntimeWorkerRegistry; } export declare class RuntimeCapacityScheduler { private readonly mode; private readonly defaultScope; private readonly platformPolicy; private readonly tenantPolicy; private readonly workspacePolicy; private readonly registry; private readonly state; constructor(options?: RuntimeCapacitySchedulerOptions); schedule(request: RuntimeScheduleRequest): RuntimeScheduleDecision; release(leaseId: string): RuntimeScheduleDecision[]; drainQueued(): RuntimeScheduleDecision[]; snapshot(scope?: RuntimeCapacityScope): RuntimeCapacitySnapshot; drainEvents(): RuntimeCapacitySchedulerEvent[]; private normalizeRequest; private queueOrRejectLimit; private queueOrDefer; private shouldQueue; private scheduleQueued; private queueDepthByWorker; private effectiveTenantPolicy; private effectiveWorkspacePolicy; }