import type { Num } from '../types.js'; declare class Throttler { static QUEUE_COMPACTION_THRESHOLD: number; running: boolean; queue: { resolver: any; cost: number; }[]; queueHead: number; config: { refillRate: number; delay: number; capacity: number; tokens: number; cost: number; algorithm: string; rateLimit: number; windowSize: number; maxWeight: number; }; timestamps: { timestamp: number; cost: number; }[]; totalCost: number; constructor(config: any); dequeue(): void; leakyBucketLoop(): Promise; rollingWindowLoop(): Promise; loop(): Promise; throttle(cost?: Num): Promise; } export { Throttler, };