/// <reference types="node" />
import * as ws from "ws";
export declare type WSErrorEvent = ws.ErrorEvent;
export declare type WSCloseEvent = ws.CloseEvent;
export declare type Binary = Buffer;
export interface Parameters {
    ip: string;
    towel: string;
    protocol?: "ws" | "wss";
    port?: number;
    cache_everything?: boolean;
    reject_unauthorized?: boolean;
    max_payload_size?: number;
}
export declare class Adapter {
    readonly pars: Parameters;
    private socket?;
    private socket_opts;
    constructor(pars: Parameters);
    send(data: any): void;
    close(): void;
    reopen(): this;
    on_open(f: () => void): void;
    on_close(f: (ev: WSCloseEvent) => void): void;
    on_error(f: (ev: WSErrorEvent) => void): void;
    on_message(f: (data: any) => void): void;
}
