import { RTMAPI } from "../internal";
import { TokenGetter } from "../authorization";
import type { CustomerParameters, EmptyResponse, GetChatResponse, GetFormResponse, GetPredictedAgentResponse, RequestWelcomeMessageParameters, RequestWelcomeMessageResponse, GetURLInfoResponse, ListChatParameters, ListChatsResponse, ListGroupStatusesResponse, ListThreadsParameters, ListThreadsResponse, LoginRequest, LoginResponse, Properties, Pushes, RequestEvent, ResumeChatParameters, ResumeChatResponse, RTMAPIOptions, SendEventResponse, SendRichMessagePostbackParameters, StartChatParameters, StartChatResponse } 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;
listChats(opts?: ListChatParameters): Promise;
listThreads(chat_id: string, opts?: ListThreadsParameters): Promise;
getChat(chat_id: string, thread_id?: string): Promise;
startChat(opts?: StartChatParameters): Promise;
resumeChat(param: string | ResumeChatParameters): Promise;
deactivateChat(id: string): Promise;
sendEvent(chat_id: string, event: RequestEvent, attach_to_last_thread?: boolean): Promise;
sendRichMessagePostback(opts: SendRichMessagePostbackParameters): Promise;
sendSneakPeek(chat_id: string, sneak_peek_text: string): 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;
deleteEvent(chat_id: string, thread_id: string, event_id: string): Promise;
updateCustomerPage(url: string, title?: string): Promise;
activateCustomerPage(): Promise;
deactivateCustomerPage(): Promise;
updateCustomer(opts: CustomerParameters): Promise;
setCustomerSessionFields(session_fields: object[]): Promise;
getCustomer(): Promise;
listGroupStatuses(param: boolean | number[]): Promise;
checkGoals(session_fields: object[], group_id: number, page_url: number): Promise;
getForm(group_id: number, type: string): Promise;
getPredictedAgent(): Promise;
requestWelcomeMessage(opts?: RequestWelcomeMessageParameters): Promise;
getURLInfo(url: string): Promise;
markEventsAsSeen(chat_id: string, seen_up_to: string): Promise;
acceptGreeting(greeting_id: number, unique_id: string): Promise;
cancelGreeting(unique_id: string): Promise;
}
//# sourceMappingURL=rtm.d.ts.map