import { EventEmitter } from 'node:events'; import type { PluginOption } from 'vite'; import { type AppManifest } from './AppProcess.js'; export interface ServerViteOptions { root?: string; configFile?: string | false; plugins?: PluginOption[]; } export type ServerLogger = Pick; export interface ServerOptions { entrypoint: string; env: Record; port?: number; host?: string; vite?: ServerViteOptions | false; logger?: ServerLogger | false; } export interface ServerAddress { host: string; port: number; url: string; } export declare class Server extends EventEmitter { private readonly options; private readonly appProcess; private readonly logger; private routes; private tsBuildWatcher; private httpServer; private vite; private currentAddress; private packageJsonPath; private outDir; constructor(options: ServerOptions); get manifest(): AppManifest | null; get address(): ServerAddress; up(): Promise; down(): Promise; private onTsBuildSuccess; private createVite; }