import { EventEmitter } from "stream"; type WebSocketTopics = "authorize" | "subscribe" | "unsubscribe" | "connected" | "authorized" | "object-cov" | "resource-cov" | "service-status" | "broadcast-command" | "error" | "ping" | "pong"; interface EngineWebSocketInterface { registerCallback: (topic: WebSocketTopics, callback: Function) => void; clearAllCallbacks: () => void; subscribeToObjectCOV: (uri: string) => void; unsubscribeToObjectCOV: (uri: string) => void; subscribeToResourceCOV: (uri: string) => void; unsubscribeToResourceCOV: (uri: string) => void; subscribeToBCMD: (uri: string) => void; unsubscribeToBCMD: (uri: string) => void; killWebSocket: () => void; disconnectFromWebSocket: () => void; connectToWebSocket: (token: string) => void; } export declare class EngineWebSocket extends EventEmitter implements EngineWebSocketInterface { private webSocket; private pendingWebSocketMessages; private pendingWebSocketMessageInterval; private pingInterval; private registeredCallbacks; private reconnectInterval; private attemptReconnect; private authToken; private hostname; private protocol; constructor(hostname: string, protocol: "http" | "https"); connectToWebSocket: (token: string) => void; private sendWebSocketMessage; private sendPingMessage; registerCallback: (topic: WebSocketTopics, callback: Function) => void; clearAllCallbacks: () => void; private handleWebSocketMessage; private reconnect; killWebSocket: () => void; disconnectFromWebSocket: () => void; subscribeToObjectCOV: (uri: string) => void; unsubscribeToObjectCOV: (uri: string) => void; subscribeToResourceCOV: (uri: string) => void; unsubscribeToResourceCOV: (uri: string) => void; subscribeToBCMD: (uri: string) => void; unsubscribeToBCMD: (uri: string) => void; } export {};