import type { Log } from "@intentic/local-agent"; export declare const agentPath: string; export declare const assetUrl: () => string; export type Probe = { readonly kind: "version"; readonly version: string; } | { readonly kind: "no-version-command"; } | { readonly kind: "unusable"; }; export type UpgradeOutcome = { readonly kind: "current"; readonly version: string; readonly note?: string; } | { readonly kind: "upgraded"; readonly from: string; readonly to: string; } | { readonly kind: "failed"; readonly reason: string; }; export interface UpgradeExec { readonly fetchTo: (url: string, dest: string) => Promise; readonly probe: (binary: string) => Probe; readonly swap: (from: string, to: string) => Promise; readonly stopWatcher: () => Promise; readonly startWatcher: () => Promise; readonly watcherAlive: () => Promise; readonly discard: (path: string) => Promise; } export declare const runUpgrade: (exec: UpgradeExec, url: string, installed: string, force: boolean, log: Log) => Promise; export declare const realUpgradeExec: (stopWatcher: () => Promise, startWatcher: () => Promise, alive: () => Promise) => UpgradeExec; export declare const upgradeMessage: (outcome: UpgradeOutcome) => string; //# sourceMappingURL=upgrade.d.ts.map