declare function buildChildProcessConfig(restartReason?: string | null): { cwd: string; stdio: ("pipe" | "ignore" | "ipc")[]; execArgv: any[]; env: { [key: string]: string; }; }; export interface RebuildStep { /** Short stable name used in logs and in the abort notice. */ label: string; cmd: string; args: string[]; cwd: string; } /** Ordered `npm run build` steps for the hot-reload pipeline, skipping packages that are absent. * Order is load-bearing: agent-server emits the dist types, ui-contract re-exports them, web * typechecks against ui-contract's dist. */ export declare function planRebuildSteps(dirs: { repoDir: string; uiContractDir?: string | null; webDir?: string | null; }): RebuildStep[]; /** The text shown to the operator when the pipeline stops early. Spells out the consequence * explicitly: an aborted rebuild leaves the *previous* build running, so a silent abort looks * exactly like "my restart did nothing". */ export declare function buildRebuildAbortNotice(p: { step: string; detail: string; reason: string; }): string; declare function main(): void; export { main, buildChildProcessConfig };