import { Config } from '../client/config';
import { KubeMQClient } from '../client/KubeMQClient';
import { QueuesChannel } from '../common/channel_stats';
import { QueueMessage, QueueMessageSendResult, QueuesMessagesPulledResponse, QueuesPullWaitngMessagesRequest, QueuesPullWaitingMessagesResponse, QueuesPollRequest } from './queuesTypes';
import { QueueStreamHelper } from './QueueStreamHelper';
/**
 * Queue Client - KubeMQ queues client
 */
export declare class QueuesClient extends KubeMQClient {
    queueStreamHelper: QueueStreamHelper;
    /**
     * @internal
     */
    constructor(Options: Config);
    /**
     * Create new queue channel
     * @param channelName
     * @return Promise<void>
     */
    createQueuesChannel(channelName: string): Promise<void>;
    /**
     * Delete commands channel
     * @param channelName
     * @return Promise<void>
     */
    deleteQueuesChannel(channelName: string): Promise<void>;
    /**
     * List queues channels
     * @param search
     * @return Promise<QueuesChannel[]>
     */
    listQueuesChannel(search: string): Promise<QueuesChannel[]>;
    /**
     * Send queue message
     * @param msg
     * @return Promise<QueueMessageSendResult>
     */
    sendQueuesMessage(msg: QueueMessage): Promise<QueueMessageSendResult>;
    /**
     * Send queue message
     * @param msg
     * @return Promise<QueueMessageSendResult>
     */
    receiveQueuesMessages(msg: QueuesPollRequest): Promise<QueuesMessagesPulledResponse>;
    /**
     * Pulls messages from a queue.
     * @param request
     * @return Promise<QueuesPullPeekMessagesResponse>
     */
    pull(request: QueuesPullWaitngMessagesRequest): Promise<QueuesPullWaitingMessagesResponse>;
    /**
     * Get waiting messages from a queue.
     * @param request
     * @return Promise<QueuesPullPeekMessagesResponse>
     */
    waiting(request: QueuesPullWaitngMessagesRequest): Promise<QueuesPullWaitingMessagesResponse>;
    /**
     * @internal
     */
    private pullOrWaiting;
}
//# sourceMappingURL=queuesClient.d.ts.map