import type { AgentConfig } from './config.js'; import { type EmergencyReleaseManifest, type ReleaseChannel } from './emergency-upgrade.js'; import { startExternalWorkerUpgrade } from './external-upgrade.js'; import { type ExternalUpgradeJob } from './upgrade-job.js'; import { type PreparedRuntimeBundle, type RuntimeReleaseManifest } from './runtime-release.js'; import { stageRuntimeBundle } from './version-stager.js'; export declare const WEB_UPGRADE_PROTOCOL_VERSION = 1; export declare const WEB_UPGRADE_MIN_AGENT_VERSION = "0.1.294"; export interface WebUpgradeDependencies { send: (message: Record) => void; config: AgentConfig; fetchChannelManifest?: (channel: ReleaseChannel) => Promise; fetchRuntime?: (version: string) => Promise<{ manifest: RuntimeReleaseManifest; manifestUrl: string; }>; prepareRuntime?: (manifest: RuntimeReleaseManifest) => Promise; stageRuntime?: typeof stageRuntimeBundle; startUpgrade?: typeof startExternalWorkerUpgrade; setInterval?: typeof globalThis.setInterval; clearInterval?: typeof globalThis.clearInterval; isAdopted?: () => boolean; nodeMajor?: number; } export declare function serializeWebUpgradeJob(job: ExternalUpgradeJob): Record; export declare function handleWebUpgradeMessage(message: { type: string; [key: string]: unknown; }, deps: WebUpgradeDependencies): boolean;