import type { BundleInfo } from '../bundleInfo'; import { type StartupRecoveryState, type StartupCandidateActivation, type StartupRollbackResult } from '../native/bundleDropNative'; export type RollbackPolicy = { maxCrashCount?: number; healthCheckMode?: 'auto' | 'manual'; healthyAfterSec?: number; }; export type { FailedBundleRecord } from './reporting'; export type { StartupRecoveryState } from '../native/bundleDropNative'; export declare const STARTUP_RECOVERY_TELEMETRY_CONTEXT_PATH: string; export declare function getRollbackPolicy(): Required; export declare function activateStartupCandidate(hash: string): Promise; export declare function reportActiveBundleHealthy(): Promise; export declare function readStartupRecoveryState(): Promise; export declare function getFailedBundleHashes(cachedState?: StartupRecoveryState | null): Promise; export declare function isBundleHashFailed(hash?: string | null): Promise; export declare function syncVerifiedRevokedHashes(hashes: string[]): Promise; export declare function rollbackStartupBundle(forceEmbedded: boolean): Promise; /** * Flush native recovery events without making JS part of the recovery decision. * Native keeps each event durable until its backend report succeeds and JS * acknowledges that exact event id. */ export declare function reconcileStartupRecovery(cachedState?: StartupRecoveryState | null, failedBundleInfo?: BundleInfo | null): Promise;