import Express from "express"; import type { Server } from "ws"; export declare type CreateExpressWsResult = { /** Express的app */ app: Express.Express; /** 经过变更后的port */ port: number; /** WebSocket Server */ wss: Server; }; export interface ExpressAppSetupFunc { ({ app, port }: CreateExpressWsResult): void | Promise; } export declare type CreateExpressWsOptions = { /** 初始指定一个端口, 默认值为8080, port之后后有可能会变更 */ port?: number; /** 设置app.use系列 */ setups?: ExpressAppSetupFunc[]; /** 是否使用跨域,默认为true */ CORS?: boolean; /** * 端口模式 * @"change-when-occupied" 如果端口被占用,自动分配一个新的端口 * @"kill-when-occupied" 如果端口被占用,尝试kill掉该端口 * @ null 默认值,不控制端口 */ portMode?: "change-when-occupied" | "kill-when-occupied" | null; /** 是否立即listen */ listen?: true; }; export declare function createExpressWs({ port, setups, CORS, portMode, listen, }: CreateExpressWsOptions): Promise;