import type { Express } from "express"; import type { Server } from "http"; export interface WebUiServerController { expressApp: Express; httpServer: Server; getPort: () => number | null; getOpenCodePort: () => number | null; isReady: () => boolean; restartOpenCode: () => Promise; stop: (options?: { exitProcess?: boolean }) => Promise; } export interface StartWebUiServerOptions { port?: number; host?: string; attachSignals?: boolean; exitOnShutdown?: boolean; uiPassword?: string | null; } export declare function startWebUiServer( options?: StartWebUiServerOptions ): Promise; export declare function gracefulShutdown(options?: { exitProcess?: boolean }): Promise; export declare function setupProxy(app: Express): void; export declare function restartOpenCode(): Promise; export declare function parseArgs(argv?: string[]): { port: number; host?: string; uiPassword: string | null; tryCfTunnel: boolean; tunnelProvider?: string; tunnelMode?: string; tunnelConfigPath?: string | null; tunnelToken?: string; tunnelHostname?: string; };