import { OnGatewayConnection, OnGatewayDisconnect } from '@nestjs/websockets'; import { Server } from 'socket.io'; import { FnLoggerService } from '../fn.logger/fn.logger.service'; import { AuthenticatedSocket } from './fn.socket.io.adapter'; import { FnWebServerService } from '../fn.web.server/fn.web.server.service'; import { IUserGetInfoOut } from '../fn.db.postgres/fn.db.postgres.interface'; import { SessionParams } from '../../fn.core.type'; export interface InputParams { [key: string]: any; } export interface InputCommand { QueryCommand: string; QueryId: number; InputParams: InputParams; IsBroadcastEvent: boolean; __incomeTimeStamp?: number; } type OutputCommand = Pick & { result: OutputResult; }; export interface OutputResult { resultMessage: string; resultData: any; resultBuffer: any; } export declare class FnSocketIoGateway implements OnGatewayConnection, OnGatewayDisconnect { private _log; private _webServer; server: Server; constructor(_log: FnLoggerService, _webServer: FnWebServerService); handleEvent(command: InputCommand, client: AuthenticatedSocket): Promise; handleDisconnect(client: AuthenticatedSocket): void; handleConnection(client: AuthenticatedSocket, ...args: any[]): void; sendBroadcastMessage(eventName: string, data?: any): void; sendPersonalMessage(userGuid: number, eventName: string, data?: any): void; private static createOutputResult; private static pickResult; userCanConnect(sessionParams: SessionParams, user: IUserGetInfoOut): string | null; countActiveConnectionForUser(originalSessionId: string, userGuid: number): number; } export {};