#!/usr/bin/env node import type { GroupXRuntime } from "./app/runtime.js"; import { type GroupXRuntimeLaunchDescriptor, type GroupXRuntimeProbe } from "./app/runtime-instance.js"; import type { GroupXRuntimeIdentity } from "./core/runtime-instance.js"; export interface StartConfiguredRuntimeDependencies { describeLaunch(configPath: string): Promise; probe(descriptor: GroupXRuntimeLaunchDescriptor): Promise; startRuntime(configPath: string): Promise; open(url: string): Promise; writeLine(line: string): void; delay(milliseconds: number): Promise; } export interface StopConfiguredRuntimeDependencies { describeLaunch(configPath: string): Promise; probe(descriptor: GroupXRuntimeLaunchDescriptor): Promise; writeLine(line: string): void; delay(milliseconds: number): Promise; requestShutdown(descriptor: GroupXRuntimeLaunchDescriptor, runningIdentity: GroupXRuntimeIdentity): Promise; } export type RestartConfiguredRuntimeDependencies = StartConfiguredRuntimeDependencies & StopConfiguredRuntimeDependencies; export type StartConfiguredRuntimeResult = { readonly kind: "started"; readonly origin: string; readonly runtime: GroupXRuntime; } | { readonly kind: "reused"; readonly origin: string; }; /** Idempotent product start: reuse the same runtime, but never kill or replace another listener. */ export declare function startConfiguredRuntime(configPath: string, noOpen: boolean, dependencies?: StartConfiguredRuntimeDependencies): Promise; export type StopConfiguredRuntimeResult = { readonly kind: "stopped"; readonly origin: string; }; /** Gracefully stop the runtime bound to this canonical config path. */ export declare function stopConfiguredRuntime(configPath: string, dependencies?: StopConfiguredRuntimeDependencies): Promise; /** Gracefully stop the runtime for this config path, then start with the latest file contents. */ export declare function restartConfiguredRuntime(configPath: string, noOpen: boolean, dependencies?: RestartConfiguredRuntimeDependencies): Promise; export declare function run(argv: readonly string[]): Promise; export declare function isEntryModule(entry?: string | undefined, moduleUrl?: string): boolean; //# sourceMappingURL=cli.d.ts.map