import { IQueueParams, IQueueRateLimit, QueueRateLimit } from 'redis-smq';
export declare class QueueRateLimitService {
    protected queueRateLimit: {
        clearAsync: ((queue: string | IQueueParams) => Promise<undefined>) | ((queue: string | IQueueParams) => Promise<void>);
        setAsync: ((queue: string | IQueueParams, rateLimit: IQueueRateLimit) => Promise<undefined>) | ((queue: string | IQueueParams, rateLimit: IQueueRateLimit) => Promise<void>);
        hasExceededAsync: ((queue: string | IQueueParams, rateLimit: IQueueRateLimit) => Promise<false>) | ((queue: string | IQueueParams, rateLimit: IQueueRateLimit) => Promise<true>);
        getAsync: ((queue: string | IQueueParams) => Promise<null>) | ((queue: string | IQueueParams) => Promise<IQueueRateLimit>);
        shutdownAsync: (() => Promise<undefined>) | (() => Promise<void>);
    } & QueueRateLimit;
    constructor(queueRateLimit: QueueRateLimit);
    setRateLimit(queueParams: IQueueParams, queueRateLimit: IQueueRateLimit): Promise<IQueueRateLimit>;
    getRateLimit(queueParams: IQueueParams): Promise<IQueueRateLimit | null>;
    clearRateLimit(queueParams: IQueueParams): Promise<void>;
}
//# sourceMappingURL=QueueRateLimitService.d.ts.map