import MediatorUser from "./MediatorUser"; import Server from "./Server"; import type { IncomingMessage, ServerResponse } from "node:http"; import type { Server as SocketIOServer } from "socket.io"; import type { Server as WebSocketServer } from "ws"; import type { Server as SocketIOServerV2 } from "../../@types/socket.io-v2"; import type { tLogger, tEventMap, iEventsMinimal } from "./DescriptorUser"; export interface iOrchestratorOptions { "externalResourcesDirectory": string; "packageFile": string; "descriptorFile": string; "mediatorFile": string; "serverFile": string; "logger"?: tLogger; } export interface iEngines { [key: string]: string; "node": string; } export default class Orchestrator = iEventsMinimal> extends MediatorUser { protected _Server: Server | null; protected _socketServer: WebSocketServer | SocketIOServer | SocketIOServerV2 | null; protected _checkParameters: boolean; protected _checkResponse: boolean; protected _packageFile: string; protected _descriptorFile: string; protected _mediatorFile: string; protected _serverFile: string; protected _extended: string[]; enabled: boolean; authors: string[]; description: string; dependencies: Record | null; devDependencies: Record | null; engines: iEngines | null; license: string; main: string; name: string; repository: string; scripts: Record | null; version: string; constructor(options: iOrchestratorOptions); checkConf(): Promise; isEnable(): Promise; checkFiles(): Promise; checkServer(): Promise; disableCheckParameters(): this; enableCheckParameters(): this; disableCheckResponse(): this; enableCheckResponse(): this; disableCors(): this; enableCors(): this; appMiddleware(req: IncomingMessage, res: ServerResponse, next: () => void): void; socketMiddleware(server: WebSocketServer | SocketIOServer): void; load(...data: unknown[]): Promise; destroy(...data: unknown[]): Promise; init(...data: unknown[]): Promise; release(...data: unknown[]): Promise; install(...data: unknown[]): Promise; update(...data: unknown[]): Promise; uninstall(...data: unknown[]): Promise; }