import TawkToTsd from "./TawkToTsd";
import ChatBase from "../../core/ChatBase";
import EventMap from "../../types/EventMap";
import MethodMap from "../../types/MethodMap";
import State from "../../types/State";
import StringNumberObject from "../../types/StringNumberObject";
declare global {
    interface Window {
        Tawk_API: TawkToTsd;
        Tawk_LoadStart: Date;
    }
}
export default class TawkTo extends ChatBase<TawkToTsd> implements MethodMap {
    private readonly _id;
    constructor(_id: string);
    _eventMap: EventMap;
    _loader(): TawkToTsd;
    open(): Promise<void>;
    close(): Promise<void>;
    end(): Promise<void>;
    event(eventName: string, data?: StringNumberObject): Promise<void>;
    popup(): Promise<void>;
    addTags(tags: string[]): Promise<void>;
    removeTags(tags: string[]): Promise<void>;
    setVisitorData(data: TawkToTsd['visitor']): Promise<void>;
    toggle(): Promise<void>;
    isChatting(): boolean;
    isClosed(): boolean;
    isEngaged(): boolean;
    isHidden(): boolean;
    isOnline(): boolean;
    isOffline(): boolean;
    isAway(): boolean;
    isOpen(): boolean;
    state(): State;
}
