import { ICallback } from 'redis-smq-common';
import { RedisClient } from '../../common/redis-client/redis-client.js';
import { IQueueParams, IQueueRateLimit, Queue } from '../queue/index.js';
export declare class QueueRateLimit {
    protected redisClient: RedisClient;
    protected logger: import("redis-smq-common").ILogger;
    protected queue: Queue;
    constructor();
    clear(queue: string | IQueueParams, cb: ICallback<void>): void;
    set(queue: string | IQueueParams, rateLimit: IQueueRateLimit, cb: ICallback<void>): void;
    hasExceeded(queue: string | IQueueParams, rateLimit: IQueueRateLimit, cb: ICallback<boolean>): void;
    get(queue: string | IQueueParams, cb: ICallback<IQueueRateLimit | null>): void;
    shutdown: (cb: ICallback<void>) => void;
}
//# sourceMappingURL=queue-rate-limit.d.ts.map