import { ChatReadItem } from './types'; export type ChatEngineResponse = { dataObjects: ChatReadItem[]; maxObjectId: number; }; export type VideoChatMode = 'enabled' | 'disabled' | 'requested'; export declare class Client { private readonly endpoint; private readonly protocolVersion; private readonly timeout; private penStatusTimer; private penStatusJustSent; constructor(endpoint: string); chatJoin(payload: { uid: string; customerName: string; instance: string; videoChatMode: VideoChatMode; invitationUid: string; }): Promise; chatRequest(payload: { uid: string; customerName?: string; customerEmailAddress: string; visitorQuestion: string; instance: string; queueMessageInterval: number; entrance: string; errand: string; videoChatMode: VideoChatMode; customData: Record; authOption: 'required' | 'optional' | 'disabled'; authToken?: string; }): Promise; videoPrepared(payload: { uid: string; instance: string; result: string; }): Promise; chatRead(payload: { uid: string; instance: string; entrance: string; maxObjectId: number; }): Promise; sendPenStatusOn(payload: { uid: string; instance: string; key: string; }): void; sendPenStatusOff(payload: { uid: string; instance: string; }): void; chatWrite(payload: { uid: string; instance: string; clockstamp: string; message: string; }): Promise; chatAuthentication(payload: { uid: string; instance: string; authToken: string; }): Promise; chatQuit(payload: { uid: string; instance: string; }): Promise; chatCheckSession(payload: { uid: string; instance: string; }): Promise; chatEmailSession(payload: { uid: string; instance: string; emailAddress: string; }): Promise; isOpenEntrance(payload: { uid: string; instance: string; entrance: string; }): Promise<{ open: boolean; result: string; }>; private sendRequest; static removeTrailingSlashes(text: string): string; }