UNPKG

@dannyfranca/any-chat

Version:

Universal, extensible and improved JS API for Chats, like TawkTo, Jivochat, and others.

42 lines (41 loc) 1.47 kB
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 {};