import type { RateLimiter, RateLimiterCheck } from "@promobase/sdk-runtime"; export interface MetaRateLimiterOptions { /** Pause requests when usage exceeds this threshold (0-1). Default: 0.9 */ highWaterMark?: number; /** Fallback wait time in ms when over high water mark. Default: 60000 */ fallbackWaitMs?: number; /** Called when rate limited. Informational only. */ onThrottle?: (info: { waitMs: number; usage: MetaUsage; }) => void; } export interface MetaUsage { callCount: number; cpuTime: number; totalTime: number; } export declare class MetaRateLimiter implements RateLimiter { private usage; private pausedUntil; private readonly highWaterMark; private readonly fallbackWaitMs; private readonly onThrottle?; constructor(opts?: MetaRateLimiterOptions); check(): RateLimiterCheck; afterResponse(status: number, headers: Headers): void; /** Get current usage snapshot. */ getUsage(): MetaUsage; /** Check if currently paused. */ get isPaused(): boolean; /** Get pause end timestamp (0 if not paused). */ get pausedUntilTimestamp(): number; /** Manually reset all state. */ reset(): void; } //# sourceMappingURL=rate-limiter.d.ts.map