export interface RateLimiterOptions { readonly requestsPerMinute: number; readonly minDelayMs: number; /** Max distinct domains tracked. Older entries evicted. Default 10_000. */ readonly maxDomains?: number; /** Domain considered idle and evictable after this many ms. Default 600_000 (10 min). */ readonly idleMs?: number; } export interface RateLimiter { readonly acquire: (domain: string) => Promise; } export declare function makeRateLimiter(options: RateLimiterOptions): RateLimiter;