import { ICallback } from 'redis-smq-common';
import { EQueueDeliveryModel, EQueueType, IQueueParams, IQueueProperties, TQueueConsumer } from './types/index.js';
export declare class QueueManager {
    protected logger: import("redis-smq-common").ILogger;
    constructor();
    save(queue: string | IQueueParams, queueType: EQueueType, deliveryModel: EQueueDeliveryModel): Promise<{
        queue: IQueueParams;
        properties: IQueueProperties;
    }>;
    save(queue: string | IQueueParams, queueType: EQueueType, deliveryModel: EQueueDeliveryModel, cb: ICallback<{
        queue: IQueueParams;
        properties: IQueueProperties;
    }>): void;
    exists(queue: string | IQueueParams): Promise<boolean>;
    exists(queue: string | IQueueParams, cb: ICallback<boolean>): void;
    delete(queue: string | IQueueParams): Promise<void>;
    delete(queue: string | IQueueParams, cb: ICallback): void;
    getProperties(queue: string | IQueueParams): Promise<IQueueProperties>;
    getProperties(queue: string | IQueueParams, cb: ICallback<IQueueProperties>): void;
    getQueues(): Promise<IQueueParams[]>;
    getQueues(cb: ICallback<IQueueParams[]>): void;
    getConsumers(queue: string | IQueueParams): Promise<Record<string, TQueueConsumer>>;
    getConsumers(queue: string | IQueueParams, cb: ICallback<Record<string, TQueueConsumer>>): void;
    getConsumerIds(queue: string | IQueueParams): Promise<string[]>;
    getConsumerIds(queue: string | IQueueParams, cb: ICallback<string[]>): void;
}
//# sourceMappingURL=queue-manager.d.ts.map