import { EQueueDeliveryModel, EQueueType, IQueueParams, Queue } from 'redis-smq';
export declare class QueuesService {
    protected queue: {
        saveAsync: (queue: string | IQueueParams, queueType: EQueueType, deliveryModel: EQueueDeliveryModel) => Promise<{
            queue: IQueueParams;
            properties: import("redis-smq").IQueueProperties;
        }>;
        existsAsync: ((queue: string | IQueueParams) => Promise<false>) | ((queue: string | IQueueParams) => Promise<true>);
        deleteAsync: ((queue: string | IQueueParams) => Promise<undefined>) | ((queue: string | IQueueParams) => Promise<void>);
        getPropertiesAsync: (queue: string | IQueueParams) => Promise<import("redis-smq").IQueueProperties>;
        getQueuesAsync: () => Promise<IQueueParams[]>;
        getConsumersAsync: (queue: string | IQueueParams) => Promise<Record<string, import("redis-smq").TQueueConsumer>>;
        getConsumerIdsAsync: (queue: string | IQueueParams) => Promise<string[]>;
        shutdownAsync: (() => Promise<undefined>) | (() => Promise<void>);
    } & Queue;
    constructor(queue: Queue);
    createQueue(queueParams: IQueueParams, queueType: EQueueType, queueDeliveryModel: EQueueDeliveryModel): Promise<{
        queue: IQueueParams;
        properties: import("redis-smq").IQueueProperties;
    }>;
    exists(queueParams: IQueueParams): Promise<boolean>;
    getProperties(queueParams: IQueueParams): Promise<import("redis-smq").IQueueProperties>;
    delete(queueParams: IQueueParams): Promise<void>;
    getQueues(): Promise<IQueueParams[]>;
}
//# sourceMappingURL=QueuesService.d.ts.map