/// import { Application, Component } from '@lakutata/core'; import { Server, Socket } from 'socket.io'; import { RegistryAdapterComponent } from './RegistryAdapterComponent'; import { TClientHandshakeRequest } from '../../types/TClientHandshakeRequest'; import { IValidClientHandshakeRequest } from '../../interfaces/IValidClientHandshakeRequest'; import { Logger } from '@lakutata/core/build/plugins/Logger'; import { TPattern } from '../../types/TPattern'; import { IServiceClientInfo } from '../../interfaces/IServiceClientInfo'; import { IServiceClientInstance } from '../../interfaces/IServiceClientInstance'; import { IPatRun } from '../../interfaces/IPatRun'; import { IServiceInfoObject } from '../../interfaces/IServiceInfoObject'; import { Server as HttpServer } from 'http'; export declare class RegistryComponent extends Component { protected get Logger(): Logger | undefined; protected readonly app: Application; protected readonly registryAdapter: RegistryAdapterComponent; protected readonly port: () => number; protected readonly token: () => string; protected readonly logger: () => boolean; protected readonly cleanDeathSocketsInterval: number; protected readonly httpServer: HttpServer; protected readonly serviceClientMap: Map; protected server: Server; protected get services(): IServiceInfoObject; protected initialize(): Promise; protected cleanDeathSockets(): Promise; protected convertPatternsToPatternManager(patterns: TPattern[]): IPatRun; protected generateServiceClientInstanceByServiceClientInfo(info: IServiceClientInfo): IServiceClientInstance; protected serviceClientOnlineHandler(socket: Socket): Promise; protected serviceClientOfflineHandler(appId: string, socket: Socket): Promise; protected serviceClientHandler(socket: Socket): void; protected getURLsForHttpInvokePacket(rawInvokePacket: string): Promise; protected serviceProxyInvokeHandler(proxyRawInvokePacket: string): Promise<{ rawInvokeResult: string; matchedPattern: TPattern | undefined; }>; protected validateClientHandshake(handshakeRequest: TClientHandshakeRequest): Promise; fetchServices(appId?: string | RegExp): IServiceInfoObject; }