import { type DemoWatchHealth } from './demoWatchHealth.js'; import { type DemoWatchRegistration } from './demoWatchRegistry.js'; export type DemoWatchSupervisor = { state: 'running' | 'stopped' | 'unknown' | 'legacy' | 'version_mismatch'; pid: number | null; }; type Input = { home: string; registration: DemoWatchRegistration; version: string; dryRun?: boolean; }; export type DemoWatchControlDependencies = { verify: () => Promise; prepareStartup: () => Promise; start: () => Promise; supervisor: () => Promise; autostart: () => Promise<'enabled' | 'disabled' | 'unavailable' | 'unsupported'>; exclusive: (operation: () => Promise) => Promise; wait?: () => Promise; }; export declare function inspectDemoWatchSupervisor(home: string, version: string, processState: () => Promise<'running' | 'stopped' | 'unknown'>): Promise; export declare function demoWatchStatus(input: Input, deps: DemoWatchControlDependencies): Promise<{ schema: "dharma.demo-watch-control/v1"; ok: boolean; version: string; stage: string; key: string; registered: boolean; supervisor: "unknown" | "running" | "stopped" | "legacy" | "version_mismatch"; autostart: "enabled" | "disabled" | "unavailable" | "unsupported"; observation: DemoWatchHealth | null; fullWorkflowReady: false; }>; export declare function enableDemoWatch(input: Input, deps: DemoWatchControlDependencies): Promise<{ schema: "dharma.demo-watch-control/v1"; ok: boolean; version: string; stage: string; key: string; registered: boolean; supervisor: "unknown" | "running" | "stopped" | "legacy" | "version_mismatch"; autostart: "enabled" | "disabled" | "unavailable" | "unsupported"; observation: DemoWatchHealth | null; fullWorkflowReady: false; }>; export declare function disableDemoWatch(input: Input, deps: DemoWatchControlDependencies): Promise<{ schema: "dharma.demo-watch-control/v1"; ok: boolean; version: string; stage: string; key: string; registered: boolean; supervisor: "unknown" | "running" | "stopped" | "legacy" | "version_mismatch"; autostart: "enabled" | "disabled" | "unavailable" | "unsupported"; observation: DemoWatchHealth | null; fullWorkflowReady: false; }>; export {}; //# sourceMappingURL=demoWatchControl.d.ts.map