/**
 * Send message on ws if available.
 * feed the offlineBuffer if it is not
 */
export function wsSend(ws: any, message: any, callback: any, offlinebuffer: any): void;
/**
 * if is closed or not defined start a new ws
 */
export function wsIsClosed(ws: any): boolean;
/**
 * initialise a websocket
 * on open connection, try to send messages stored in offline buffer
 */
export function startWebsocket(url: any, offlinebuffer: any, options: any): WebSocket;
/**
 * create a new smart websocket featuring
 * automatic reconnection
 * message pooling in case of connection loss
 * @param url
 * @param options
 */
export default function SmartWebsocket(url: any, options?: {}, id?: string): {
    send: (message: any, callback: any) => void;
    close(): any;
    getBufferedAmount(): any;
    getReadyState(): any;
    getUrl(): any;
};
