Files
openchamber/packages/web/server/index.d.ts
T

55 lines
1.5 KiB
TypeScript

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<void>;
stop: (options?: { exitProcess?: boolean }) => Promise<void>;
}
export interface DesktopUpdateInfo {
available: boolean;
currentVersion?: string;
version?: string | null;
body?: string | null;
date?: string | null;
}
export interface DesktopUpdater {
check: () => Promise<DesktopUpdateInfo>;
install: () => Promise<DesktopUpdateInfo>;
restart: () => Promise<void> | void;
}
export interface StartWebUiServerOptions {
port?: number;
host?: string;
attachSignals?: boolean;
exitOnShutdown?: boolean;
uiPassword?: string | null;
desktopUpdater?: DesktopUpdater;
}
export declare function startWebUiServer(
options?: StartWebUiServerOptions
): Promise<WebUiServerController>;
export declare function gracefulShutdown(options?: { exitProcess?: boolean }): Promise<void>;
export declare function setupProxy(app: Express): void;
export declare function restartOpenCode(): Promise<void>;
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;
};