import type { RateLimiter, RateLimiterCheck } from "@promobase/sdk-runtime"; export interface TikTokRateLimiterOptions { /** Fallback wait time in ms on 429 when no Retry-After header. Default: 60000 */ fallbackWaitMs?: number; /** Called when rate limited. Informational only. */ onThrottle?: (info: { waitMs: number; reason: string; }) => void; } /** * TikTok Business API rate limiter. * * TikTok doesn't provide usage-percentage headers like Meta. * Rate limiting is detected by: * - HTTP 429 status code * - Error code 40100 in response body * - Retry-After header (seconds) * * Content publishing has additional limits: 6 posts/min, 15 posts/day per account. * These are not tracked here (they throw specific error codes). */ export declare class TikTokRateLimiter implements RateLimiter { private pausedUntil; private readonly fallbackWaitMs; private readonly onThrottle?; constructor(opts?: TikTokRateLimiterOptions); check(): RateLimiterCheck; afterResponse(status: number, headers: Headers): void; /** Check if currently paused. */ get isPaused(): boolean; /** Manually reset all state. */ reset(): void; } //# sourceMappingURL=rate-limiter.d.ts.map