///
import EventEmitter from 'events';
import { SocketI } from '../types.js';
export declare class TestSocket implements SocketI {
/** @private */
events: EventEmitter;
/** @private */
ready: boolean;
/** @private */
onMessageCallback?: (type: string, data: any) => void;
constructor();
/**
* 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: (...args: Array) => void): void;
/**
* Detach event handler
*
* @param {string} event - event name
* @param {Function} cb - handler function
* @returns {void}
*/
off(event: string, cb: (...args: Array) => void): 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 {Promise} - waiting promise
*/
trigger(event: string, data: any): any;
}
export default TestSocket;