@dannyfranca/any-chat
Version:
Universal, extensible and improved JS API for Chats, like TawkTo, Jivochat, and others.
42 lines (41 loc) • 1.47 kB
TypeScript
import StringNumberObject from "../../types/StringNumberObject";
declare type Status = 'online' | 'offline' | 'away';
interface VisitorInfo extends StringNumberObject {
name?: string;
email?: string;
hash?: string;
}
declare type Callback<E = Error> = (error?: E) => void;
export default interface TawkToTsd {
visitor: VisitorInfo;
onLoad: () => any;
onStatusChange: (status: Status) => any;
onBeforeLoad: () => any;
onChatMaximized: () => any;
onChatMinimized: () => any;
onChatHidden: () => any;
onChatStarted: () => any;
onChatEnded: () => any;
onPrechatSubmit: () => any;
onOfflineSubmit: () => any;
maximize: () => void;
minimize: () => void;
toggle: () => void;
popup: () => void;
getWindowType: () => 'inline' | 'embed';
showWidget: () => void;
hideWidget: () => void;
toggleVisibility: () => void;
getStatus: () => Status;
isChatMaximized: () => boolean;
isChatMinimized: () => boolean;
isChatHidden: () => boolean;
isChatOngoing: () => boolean;
isVisitorEngaged: () => boolean;
endChat: () => void;
setAttributes: (data: VisitorInfo, callback?: Callback) => void;
addEvent: (eventName: string, metadata?: StringNumberObject, callback?: Callback) => void;
addTags: (tags: string[], callback?: Callback) => void;
removeTags: (tags: string[], callback?: Callback) => void;
}
export {};