/// <reference types="node" />
import EventEmitter from 'events';
import WebSocket from 'ws';
import { URL } from 'url';
import { ClientRequestArgs } from 'http';
import Message from '../builder/Message';
import ClientCommand from '../enum/ClientCommand';
export default class OCPPClient extends EventEmitter {
    ws: WebSocket;
    constructor(address: string | URL, options?: WebSocket.ClientOptions | ClientRequestArgs);
    constructor(address: string | URL, protocols?: string | string[], options?: WebSocket.ClientOptions | ClientRequestArgs);
    on(event: ClientCommand | 'context_error' | string, listener: (this: OCPPClient, { msg }: {
        msg: Message;
    }) => void): this;
    once(event: ClientCommand | 'context_error' | string, listener: (this: OCPPClient, { msg }: {
        msg: Message;
    }) => void): this;
}
