import { SocketI, SocketQueryOptions } from '../types.js'; export declare class SisenseSocket implements SocketI { /** @private */ socket: SocketIOClient.Socket; private isRegistered; private isListening; /** @private */ onMessageCallback?: (type: string, data: any) => void; /** * Creates a new SisenseSocket instance. * * @param data - Either a URL string or an existing SocketIOClient.Socket instance * @param query - Socket query options for authentication * @param namespace - Optional socket.io namespace to connect to (e.g., 'pivot2') */ constructor(data: string | SocketIOClient.Socket, query: SocketQueryOptions, namespace?: string); /** * Subscribes on socket readiness events */ subcribeOnSocketReadiness(): void; /** * Checks if socket is ready for sending messages or not * * @returns {boolean} - true - ready */ isReady(): boolean; /** * Attach event handler * * @param {string} event - event name * @param {Function} cb - handler function * @returns {void} */ on(event: string, cb: Function): void; /** * Detach event handler * * @param {string} event - event name * @param {Function} cb - handler function * @returns {void} */ off(event: string, cb: Function): void; /** * Send message via socket * * @param {string} event - message name * @param {Array} args - arguments * @param {Array} args.0 - message data * @returns {void} */ send(event: string, ...args: any[]): void; /** * Specific message handler * * @param {string} type - message type * @param {string} subType - message subtype (query ID) * @param {Function} callback - handler function * @returns {Function} - unsubscribe function */ onMessage(type: string, subType: string, callback: (type: string, data: any) => void): () => void; /** * Emulate receiving message from socket * * @param {string} event - message type * @param {any} data - message data * @returns {void} */ trigger(event: string, data: any): any; /** * Creates and configures a new socket.io connection. * * @param url - Base URL of the Sisense instance * @param query - Socket query options for authentication * @param namespace - Optional socket.io namespace to connect to (e.g., 'pivot2') * @returns Configured SocketIOClient.Socket instance */ static createNewSocket(url: string, query: SocketQueryOptions, namespace?: string): SocketIOClient.Socket; } export default SisenseSocket;