import { ICallback } from 'redis-smq-common';
import { IQueueParams } from '../queue-manager/index.js';
import { EQueueOperation } from './types/index.js';
export declare class QueueOperationValidator {
    protected static checkOperation(queue: string | IQueueParams, operation: EQueueOperation, cb?: ICallback<boolean>): Promise<boolean> | void;
    static canConsume(queue: string | IQueueParams): Promise<boolean>;
    static canConsume(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canProduce(queue: string | IQueueParams): Promise<boolean>;
    static canProduce(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canDelete(queue: string | IQueueParams): Promise<boolean>;
    static canDelete(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canDeleteMessage(queue: string | IQueueParams): Promise<boolean>;
    static canDeleteMessage(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canPurge(queue: string | IQueueParams): Promise<boolean>;
    static canPurge(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canRequeue(queue: string | IQueueParams): Promise<boolean>;
    static canRequeue(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canSetRateLimit(queue: string | IQueueParams): Promise<boolean>;
    static canSetRateLimit(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canClearRateLimit(queue: string | IQueueParams): Promise<boolean>;
    static canClearRateLimit(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canCreateConsumerGroup(queue: string | IQueueParams): Promise<boolean>;
    static canCreateConsumerGroup(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canDeleteConsumerGroup(queue: string | IQueueParams): Promise<boolean>;
    static canDeleteConsumerGroup(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canBindExchange(queue: string | IQueueParams): Promise<boolean>;
    static canBindExchange(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    static canUnbindExchange(queue: string | IQueueParams): Promise<boolean>;
    static canUnbindExchange(queue: string | IQueueParams, cb: ICallback<boolean>): void;
}
//# sourceMappingURL=queue-operation-validator.d.ts.map