import type { BootSource, FailedInstallState, MetricsEvent, SyncStatus, UpdateMetadata } from "./types"; export interface RuntimeSnapshot { binaryVersion: string | null; deviceId: string; /** Package executing in this process. Mirrors `RuntimeState.runningPackage`. */ runningPackage: UpdateMetadata | null; /** Last package confirmed via `notifyAppReady()`. Mirrors `RuntimeState.confirmedPackage`. */ confirmedPackage: UpdateMetadata | null; previousPackageHash: string | null; pendingPackage: UpdateMetadata | null; failedInstall: FailedInstallState | null; restartSuppressed: boolean; lastSyncStatus: SyncStatus; lastSyncError: string | null; events: MetricsEvent[]; bridgeReloadCount: number; storeUpdateAvailable: boolean; latestBinaryVersion: string | null; } export interface RuntimeResetPackageSeed { packageHash: string; label?: string; deploymentKey?: string; releaseNotes?: string | null; isMandatory?: boolean; source?: "patch" | "full_bundle"; installedAt?: string; } export interface RuntimeResetOptions { binaryVersion?: string | null; deploymentKey?: string; deviceId?: string; /** * Last package confirmed via `notifyAppReady()`. Mirrors `state.json.current` * on disk in real installations. */ confirmedPackage?: RuntimeResetPackageSeed | null; previousPackage?: RuntimeResetPackageSeed | null; pendingPackage?: RuntimeResetPackageSeed | null; /** * Optional explicit boot source. When provided it drives the * hydration alias rule for `runningPackage`. When omitted the alias is * inferred from which seeds are present (`pendingPackage` → `pending`, * `confirmedPackage` only → `current`, neither → `embedded`). * * `runningPackage` is never seeded directly — it is always derived by * `applyBootHydration` from these inputs to keep tests aligned with the * production hydration algorithm. * * When any boot seed (`confirmedPackage` / `pendingPackage` / * `previousPackage` / `bootSource` / `failedInstall`) is provided, * `__resetRuntimeForTests` synchronously hydrates the in-memory slots. * Without a boot seed the runtime is left unhydrated. */ bootSource?: BootSource; failedInstall?: FailedInstallState | null; latestBinaryVersion?: string | null; storeUpdateAvailable?: boolean; publicKeyConfigured?: boolean; clockMs?: number | null; restartSuppressed?: boolean; } export declare function __resetRuntimeForTests(options?: RuntimeResetOptions): void; export declare function __getRuntimeSnapshotForTests(): RuntimeSnapshot; //# sourceMappingURL=testing.d.ts.map