import type { IQueueSummary, ILivechatAgent, IVoipRoom, IUser, IQueueMembershipDetails, IQueueMembershipSubscription, IVoipExtensionWithAgentInfo, IManagementServerConnectionStatus, IRegistrationInfo, IVoipConnectorResult } from '@rocket.chat/core-typings'; import { VoipClientEvents } from '@rocket.chat/core-typings'; import type { PaginatedRequest } from '../helpers/PaginatedRequest'; import type { PaginatedResult } from '../helpers/PaginatedResult'; type ConnectorExtensionGetRegistrationInfoByUserId = { id: string; }; export declare const isConnectorExtensionGetRegistrationInfoByUserIdProps: import("ajv").ValidateFunction; type VoipQueuesGetQueuedCallsForThisExtension = { extension: string; }; export declare const isVoipQueuesGetQueuedCallsForThisExtensionProps: import("ajv").ValidateFunction; type VoipQueuesGetMembershipSubscription = { extension: string; }; export declare const isVoipQueuesGetMembershipSubscriptionProps: import("ajv").ValidateFunction; type OmnichannelExtensions = PaginatedRequest<{ status?: string; agentId?: string; queues?: string[]; extension?: string; }>; export declare const isOmnichannelExtensionsProps: import("ajv").ValidateFunction; type OmnichannelExtension = { userId: string; type: 'free' | 'allocated' | 'available'; } | { username: string; type: 'free' | 'allocated' | 'available'; }; export declare const isOmnichannelExtensionProps: import("ajv").ValidateFunction; type OmnichannelAgentExtensionGET = { username: string; }; export declare const isOmnichannelAgentExtensionGETProps: import("ajv").ValidateFunction; type OmnichannelAgentExtensionPOST = { userId: string; extension: string; } | { username: string; extension: string; }; export declare const isOmnichannelAgentExtensionPOSTProps: import("ajv").ValidateFunction; type OmnichannelAgentExtensionDELETE = { username: string; }; export declare const isOmnichannelAgentExtensionDELETEProps: import("ajv").ValidateFunction; type OmnichannelAgentsAvailable = PaginatedRequest<{ text?: string; includeExtension?: string; }>; export declare const isOmnichannelAgentsAvailableProps: import("ajv").ValidateFunction; type VoipEvents = { event: VoipClientEvents; rid: string; comment?: string; }; export declare const isVoipEventsProps: import("ajv").ValidateFunction; type VoipRoom = { token: string; agentId: ILivechatAgent['_id']; direction: IVoipRoom['direction']; } | { rid: string; token: string; }; export declare const isVoipRoomProps: import("ajv").ValidateFunction; type VoipManagementServerCheckConnection = { host: string; port: string; username: string; password: string; }; export declare const isVoipManagementServerCheckConnectionProps: import("ajv").ValidateFunction; type VoipCallServerCheckConnection = { websocketUrl: string; host: string; port: string; path: string; }; export declare const isVoipCallServerCheckConnectionProps: import("ajv").ValidateFunction; type VoipRooms = PaginatedRequest<{ agents?: string[]; open?: 'true' | 'false'; createdAt?: string; closedAt?: string; tags?: string[]; queue?: string; visitorId?: string; roomName?: string; direction?: IVoipRoom['direction']; }>; export declare const isVoipRoomsProps: import("ajv").ValidateFunction; type VoipRoomClose = { rid: string; token: string; options: { comment?: string; tags?: string[]; }; }; export declare const isVoipRoomCloseProps: import("ajv").ValidateFunction; export type VoipEndpoints = { '/v1/connector.extension.getRegistrationInfoByUserId': { GET: (params: ConnectorExtensionGetRegistrationInfoByUserId) => IRegistrationInfo | { result: string; }; }; '/v1/voip/queues.getSummary': { GET: () => { summary: IQueueSummary[]; }; }; '/v1/voip/queues.getQueuedCallsForThisExtension': { GET: (params: VoipQueuesGetQueuedCallsForThisExtension) => IQueueMembershipDetails; }; '/v1/voip/queues.getMembershipSubscription': { GET: (params: VoipQueuesGetMembershipSubscription) => IQueueMembershipSubscription; }; '/v1/omnichannel/extensions': { GET: (params: OmnichannelExtensions) => PaginatedResult<{ extensions: IVoipExtensionWithAgentInfo[]; }>; }; '/v1/omnichannel/extension': { GET: (params: OmnichannelExtension) => { extensions: string[]; }; }; '/v1/omnichannel/agent/extension': { POST: (params: OmnichannelAgentExtensionPOST) => void; }; '/v1/omnichannel/agent/extension/:username': { GET: () => { extension: Pick; }; DELETE: () => void; }; '/v1/omnichannel/agents/available': { GET: (params: OmnichannelAgentsAvailable) => PaginatedResult<{ agents: ILivechatAgent[]; }>; }; '/v1/voip/events': { POST: (params: VoipEvents) => void; }; '/v1/voip/room': { GET: (params: VoipRoom) => { room: IVoipRoom; newRoom: boolean; }; }; '/v1/voip/managementServer/checkConnection': { GET: (params: VoipManagementServerCheckConnection) => IManagementServerConnectionStatus; }; '/v1/voip/callServer/checkConnection': { GET: (params: VoipCallServerCheckConnection) => IManagementServerConnectionStatus; }; '/v1/voip/rooms': { GET: (params: VoipRooms) => PaginatedResult<{ rooms: IVoipRoom[]; }>; }; '/v1/voip/room.close': { POST: (params: VoipRoomClose) => { rid: string; }; }; '/v1/connector.extension.getDetails': { GET: (params: { extension: string; }) => IVoipConnectorResult; }; '/v1/connector.extension.getRegistrationInfoByExtension': { GET: (params: { extension: string; }) => IRegistrationInfo; }; }; export {}; //# sourceMappingURL=voip.d.ts.map