/** * Token bucket rate limiter for IPNS operations. * Caps outbound requests to delegated-ipfs.dev to * avoid being rate-limited or banned at scale. * * GossipSub is the primary notification path; IPNS * is best-effort. When the bucket is empty, callers * can either wait (acquire) or skip (tryAcquire). */ export interface IpnsThrottle { /** Non-blocking: returns true if a token was * available, false otherwise. */ tryAcquire(): boolean; /** Blocking: waits for a token. Rejects if the * signal is aborted before a token is available. */ acquire(signal?: AbortSignal): Promise; /** Current throttle statistics. */ metrics(): { acquired: number; rejected: number; }; } export declare function createIpnsThrottle(ratePerSec: number): IpnsThrottle; //# sourceMappingURL=ipns-throttle.d.ts.map