import { type RuntimeState } from './config.js'; import { type ExternalUpgradeJob, type ExternalUpgradeOperation } from './upgrade-job.js'; import { type VersionPointer } from './version-store.js'; import { type WorkerHostDeps, type WorkerHostResult } from './worker-host.js'; export interface ExternalUpgradeResult { job: ExternalUpgradeJob; workerHost: WorkerHostResult; } export interface ExternalUpgradeOptions { targetSelection: VersionPointer; operation?: ExternalUpgradeOperation; channel: 'latest' | 'beta'; requestId?: string; prepareTarget?: (job: ExternalUpgradeJob) => Promise; onJobCreated?: (job: ExternalUpgradeJob) => void; runtime?: RuntimeState; workerSourcePath?: string; workerHostDeps?: WorkerHostDeps; handoffTimeoutMs?: number; targetStartTimeoutMs?: number; finalizationTimeoutMs?: number; waitForTargetStarted?: boolean; waitForCompletion?: boolean; completionTimeoutMs?: number; testFailLocalHealthVersion?: string; now?: () => Date; sleep?: (milliseconds: number) => Promise; } export declare function validateExternalUpgradeTarget(current: string, target: string, operation: ExternalUpgradeOperation): void; export declare function startExternalWorkerUpgrade(options: ExternalUpgradeOptions): Promise;