import { Common, SDK } from '@rsdoctor/types'; import type { Server } from 'http'; import { Server as SocketServer, ServerOptions as SocketServerOptions, Socket as SocketType } from 'socket.io'; import { SocketAPILoader } from './api.js'; interface SocketOptions { sdk: SDK.RsdoctorBuilderSDKInstance; server: Server; port: number; token: string; socketOptions?: Partial; } export declare class Socket { protected options: SocketOptions; protected io: SocketServer; protected loader: SocketAPILoader; protected map: Map; constructor(options: SocketOptions); bootstrap(): void; protected setupSocket(socket: SocketType): void; protected saveRequestToMap(api: T, body?: SDK.ServerAPI.InferRequestBodyType | null): void; protected getAPIResponse(api: T, body: SDK.ServerAPI.InferRequestBodyType): Promise>; protected timer: NodeJS.Immediate | undefined; broadcast(): Promise; sendAPIData(api: T, msg: SDK.ServerAPI.SocketResponseType): void; dispose(): void; } export {};