import { Constructor, Context, DecoratorType, MetadataAccessor, MetadataMap } from '@loopback/core'; import { Socket } from 'socket.io'; type SocketIoEventMatcherInfo = { matcher: string | RegExp; methodNames: string[]; }; /** * Request context for a socket.io request */ export declare class SocketIoConnectionContext extends Context { readonly socket: Socket; constructor(socket: Socket, parent: Context); } /** * A factory to instantiate socket.io controllers */ export declare class SocketIoControllerFactory { private controllerClass; private controller; readonly connCtx: SocketIoConnectionContext; constructor(parentCtx: Context, controllerClass: Constructor, socket: Socket); create(): Promise<{ [method: string]: Function; }>; /** * Set up the controller for the given socket */ setup(): Promise; connect(): Promise; protected registerSubscribeMethods(): void; getDecoratedMethodsForConnect(): MetadataMap; getDecorateSubscribeMethodsByEventName(): Map; protected getDecorateSubscribeMethods(): MetadataMap<(string | RegExp)[]>; protected getAllMethodMetadataForKey(metadataAccessor: MetadataAccessor): MetadataMap; getCallback(methodName: string): (...args: unknown[]) => Promise; } export {};