export declare function SOCKETIO(key?: string): (target: any, propertyKey: string | symbol) => void; export declare function Socketio(...values: { key?: string; server: any; opts?: any; path: Socketio.SocketIOBinder; }[]): { debug(isDebug?: boolean): void; }; export interface Socketio { bind(path: string, handler?: Socketio.SocketIOHandler): Socketio; send(path: string, sessionId: string, data: any, event?: string): { end: Function; disconnect: Function; }; end(path: string, sessionId: string, event?: string): void; } export declare namespace Socketio { interface SocketIOHandler { register?: (sessionId: string) => void; } interface SocketIOBinder { [path: string]: SocketIOHandler; } function pool(key?: string): Socketio; }