import { type ServiceDefinitionSnapshot } from "./service-definitions.js"; import { type ServiceInstanceSnapshot } from "./service-instances.js"; /** The OS controls an already recorded unit, never an executable inferred from the definition * name. Startup may update the instance from inside the unit, so no instance writer lock is held * across a systemctl start request. A retained action blocks every new control request. */ export declare function controlSystemdService(definition: ServiceDefinitionSnapshot, selected: ServiceInstanceSnapshot, operation: "start" | "stop"): Promise<{ instance: ServiceInstanceSnapshot; unit: string; operation: "start"; attemptId: null; reseed: null; noOp: true; } | { instance: ServiceInstanceSnapshot; unit: string; operation: "stop"; attemptId: null; reseed: null; noOp: true; } | { instance: ServiceInstanceSnapshot; unit: string; operation: "start" | "stop"; attemptId: string; reseed: { instanceId: string; generation: string; noOp: true; attemptId?: undefined; } | { instanceId: string; generation: string; noOp: false; attemptId: string; } | null; noOp: false; }>; //# sourceMappingURL=service-systemd-control.d.ts.map