import { WebexSDK } from '../types'; import type { ContactServiceQueuesResponse, ContactServiceQueueSearchParams } from '../types'; /** * Queue API class for managing Webex Contact Center contact service queues. * Provides functionality to fetch contact service queues using the queue API. * * @class Queue * @public * @example * ```typescript * import Webex from 'webex'; * * const webex = new Webex({ credentials: 'YOUR_ACCESS_TOKEN' }); * const cc = webex.cc; * * // Register and login first * await cc.register(); * await cc.stationLogin({ teamId: 'team123', loginOption: 'BROWSER' }); * * // Get Queue API instance from ContactCenter * const queueAPI = cc.queue; * * // Get all queues * const queues = await queueAPI.getQueues(); * * // Get queues with pagination * const queues = await queueAPI.getQueues({ * page: 0, * pageSize: 50 * }); * * // Search for specific queues * const searchResults = await queueAPI.getQueues({ * search: 'support', * filter: 'name=="Support Queue"' * }); * ``` */ export declare class Queue { private webexRequest; private webex; private metricsManager; private pageCache; /** * Creates an instance of Queue * @param {WebexSDK} webex - The Webex SDK instance * @public */ constructor(webex: WebexSDK); /** * Fetches contact service queues for the organization * @param {ContactServiceQueueSearchParams} [params] - Search and pagination parameters * @returns {Promise} Promise resolving to contact service queues * @throws {Error} If the API call fails * @public * @example * ```typescript * // Get all queues with default pagination * const response = await queueAPI.getQueues(); * * // Get queues with specific pagination * const response = await queueAPI.getQueues({ * page: 0, * pageSize: 25 * }); * * // Search for queues * const response = await queueAPI.getQueues({ * search: 'support', * filter: 'queueType=="INBOUND"' * }); * ``` */ getQueues(params?: ContactServiceQueueSearchParams): Promise; } export default Queue;