import { type ManagerServiceSpec } from "./manager-service-spec.js"; import { ServiceOperationStorage } from "./service-operation-storage.js"; import { type LegacyWindowsScmSnapshot } from "./service-migration-windows-scm-snapshot.js"; import type { ServiceHost } from "./service-host.js"; export type WindowsServiceMigrationPhase = "captured" | "awaiting-restart" | "restoration-ready" | "manager-installing" | "manager-ready" | "committing" | "removing-legacy-files" | "cleaning" | "completed" | "rolling-back" | "rolled-back"; export interface WindowsServiceMigrationResult { id: string; phase: WindowsServiceMigrationPhase; status: "running" | "succeeded" | "failed" | "interrupted"; recoveryRequired: boolean; restorationReady: boolean; rolledBack: boolean; } export interface WindowsServiceMigrationRecord extends Omit { schemaVersion: 1; nonce: string; snapshotDigest: string; target: ManagerServiceSpec; } export declare const WINDOWS_MIGRATION_ACTIVE = "active.json"; export declare function windowsMigrationStorage(stateDirectory: string, host: ServiceHost): ServiceOperationStorage; export declare function archiveRolledBackWindowsMigration(stateDirectory: string, id: string, host: ServiceHost): void; export declare function windowsMigrationOperationDirectory(stateDirectory: string, id: string, host: ServiceHost): string; export declare function readWindowsMigrationSnapshot(stateDirectory: string, id: string, host: ServiceHost): LegacyWindowsScmSnapshot; export declare function parseWindowsMigrationRecord(input: unknown, target?: ManagerServiceSpec): WindowsServiceMigrationRecord; export declare function saveWindowsMigrationRecord(storage: ServiceOperationStorage, record: WindowsServiceMigrationRecord, stateDirectory: string, host: ServiceHost, createOnly?: boolean): WindowsServiceMigrationRecord; export declare function readWindowsMigrationRecord(storage: ServiceOperationStorage, stateDirectory: string, host: ServiceHost, target?: ManagerServiceSpec): WindowsServiceMigrationRecord; export declare function windowsMigrationStateDirectory(stateDirectory: string): string; export declare function publicWindowsMigrationResult(record: WindowsServiceMigrationRecord): WindowsServiceMigrationResult; //# sourceMappingURL=service-migration-windows-state.d.ts.map