import EventEmitter from 'eventemitter3';
import { ClientOptions } from './types';
declare type SendOptions = {
    priority?: number;
    isModerator?: boolean;
};
declare class Client extends EventEmitter {
    private _options;
    private _log;
    private _ws;
    private _queue;
    private _moderatorQueue;
    private _pingTimeoutId;
    private _reconnectTimeoutId;
    constructor(maybeOptions: ClientOptions);
    isReady: () => boolean;
    /**
     * Send message to Twitch
     */
    send: (message: string, { priority, isModerator }?: SendOptions) => Promise<void>;
    disconnect: () => void;
    private _createQueue;
    private _isUserAnonymous;
    private _handleOpen;
    private _handleMessage;
    private _handleError;
    private _handleClose;
    private _handleKeepAlive;
    private _handleKeepAliveReset;
}
export default Client;
