import { RTMAPI } from "../internal";
import { TokenGetter, TokenType } from "../authorization";
import type { AgentForTransfer, ChangePushNotificationsRequest, CustomerParameters, EmptyResponse, GetChatResponse, GetCustomerResponse, ListArchivesParameters, ListArchivesResponse, ListChatParameters, ListChatsResponse, ListThreadsParameters, ListThreadsResponse, LoginRequest, LoginResponse, MulticastRecipients, Properties, Pushes, RequestEvent, ResumeChatParameters, ResumeChatResponse, RoutingStatus, RTMAPIOptions, SendEventResponse, SendRichMessagePostbackParameters, SendThinkingIndicatorParameters, SetRoutingStatusResponse, StartChatParameters, StartChatResponse, TransferChatParameters } from "./structures";
export default class RTM extends RTMAPI {
constructor(webSocketClass: any, tokenGetter: TokenGetter, options?: RTMAPIOptions);
on
(push: Pushes, handler: (payload: P) => void): () => void;
login(loginData?: LoginRequest): Promise;
changePushNotifications(change: ChangePushNotificationsRequest): Promise;
setAwayStatus(away: boolean): Promise;
logout(agent_id?: string): Promise;
listChats(opts?: ListChatParameters): Promise;
listThreads(chat_id: string, opts?: ListThreadsParameters): Promise;
getChat(chat_id: string, thread_id?: string): Promise;
listArchives(opts?: ListArchivesParameters): Promise;
startChat(opts?: StartChatParameters): Promise;
resumeChat(param: string | ResumeChatParameters): Promise;
deactivateChat(id: string, ignore_requester_presence?: boolean): Promise;
followChat(id: string): Promise;
unfollowChat(id: string): Promise;
transferChat(id: string, opts?: TransferChatParameters): Promise;
addUserToChat(chat_id: string, user_id: string, user_type: string, visibility: string, ignore_requester_presence?: boolean): Promise;
removeUserFromChat(chat_id: string, user_id: string, ignore_requester_presence?: boolean): Promise;
sendEventPreview(chat_id: string, event: RequestEvent): Promise;
sendEvent(chat_id: string, event: RequestEvent, attach_to_last_thread?: boolean): Promise;
sendRichMessagePostback(opts: SendRichMessagePostbackParameters): Promise;
updateChatProperties(id: string, properties: Properties): Promise;
deleteChatProperties(id: string, properties: Properties): Promise;
updateThreadProperties(chat_id: string, thread_id: string, properties: Properties): Promise;
deleteThreadProperties(chat_id: string, thread_id: string, properties: Properties): Promise;
updateEventProperties(chat_id: string, thread_id: string, event_id: string, properties: Properties): Promise;
deleteEventProperties(chat_id: string, thread_id: string, event_id: string, properties: Properties): Promise;
tagThread(chat_id: string, thread_id: string, tag: string): Promise;
untagThread(chat_id: string, thread_id: string, tag: string): Promise;
requestThreadSummary(chat_id: string, thread_id: string): Promise;
getCustomer(id: string): Promise;
updateCustomer(id: string, opts: CustomerParameters): Promise;
banCustomer(id: string, days: number): Promise;
setRoutingStatus(status: RoutingStatus, agent_id?: string): Promise;
markEventsAsSeen(chat_id: string, seen_up_to: string): Promise;
sendThinkingIndicator(chat_id: string, opts?: SendThinkingIndicatorParameters): Promise;
sendTypingIndicator(chat_id: string, is_typing: boolean, visibility?: string): Promise;
multicast(recipients: MulticastRecipients, content: object, type?: string): Promise;
listAgentsForTransfer(chat_id: string): Promise;
listRoutingStatuses(group_ids?: number[]): Promise;
updateSession(accessToken: string, tokenType: TokenType): Promise;
}
//# sourceMappingURL=rtm.d.ts.map