export = Tunnel;
declare class Tunnel extends EventEmitter {
    constructor(opts: any);
    tokenUrl: any;
    tunnelUrl: any;
    client: any;
    init(): Promise<void>;
    ws: WebSocket | undefined;
    getToken(): Promise<any>;
    onOpen(): void;
    pingInterval: NodeJS.Timer | undefined;
    onMessage(message: any): void;
    onClose(code: any, reason: any): void;
    onPingInterval(): void;
    pingTimeout: NodeJS.Timeout | null | undefined;
    onPong(): void;
    onPingTimeout(): void;
    onUnexpectedResponse(_req: any, res: any): void;
    onError(err: any): void;
    write(data: any): void;
    close(): void;
    cancelInit: boolean | undefined;
    cleanup(): void;
}
declare namespace Tunnel {
    export { DeviceOfflineError };
}
import EventEmitter = require("events");
import WebSocket = require("ws");
declare class DeviceOfflineError extends Error {
    constructor();
}
