import { EFirmwareType } from '@onekeyfe/hd-shared'; import type { FirmwareUpdateV4Target } from '../../types/api/firmwareUpdate'; import type { FirmwareUpdatePlan, FirmwareUpdatePlanForceTarget, FirmwareUpdatePlanTarget } from '../../types/api/firmwareUpdatePlan'; import type { Features, IProtocolV2ResourceSource } from '../../types'; type FirmwareUpdatePlatform = 'native' | 'desktop' | 'ext' | 'web' | 'web-embed'; type ReleaseRecord = { url?: unknown; webUpdate?: unknown; resource?: unknown; fullResource?: unknown; fullResourceRange?: unknown; bootloaderResource?: unknown; version?: unknown; components?: unknown; installOrder?: unknown; fingerprint?: unknown; fingerprintWeb?: unknown; expectedSize?: unknown; resourceFingerprint?: unknown; resourceExpectedSize?: unknown; fullResourceFingerprint?: unknown; fullResourceExpectedSize?: unknown; bootloaderFingerprint?: unknown; bootloaderExpectedSize?: unknown; bootloaderVersion?: unknown; }; type ReleaseSelection = { shouldUpdate?: boolean; status?: unknown; release?: unknown; }; export declare const digestFirmwareUpdateContract: (value: unknown) => string; export declare const validateFirmwareUpdatePlanForceTargets: (value: unknown) => FirmwareUpdatePlanForceTarget[]; export declare const validateProtocolV2FirmwareUpdateTargets: (value: unknown) => FirmwareUpdateV4Target[]; export declare const FIRMWARE_UPDATE_PLAN_TARGETS: Set; export declare const FIRMWARE_UPDATE_PLAN_ROLES: Set; export declare const assertFirmwareUpdatePlan: (value: unknown) => FirmwareUpdatePlan; export declare const buildProtocolV2FirmwareUpdatePlan: ({ features, firmwareType, platform, release, targetsToUpdate, forceUpdateTargets, resourceArchive, }: { features: Features; firmwareType: EFirmwareType; platform: FirmwareUpdatePlatform; release: ReleaseRecord | undefined; targetsToUpdate: readonly FirmwareUpdateV4Target[]; forceUpdateTargets?: FirmwareUpdatePlanForceTarget[] | undefined; resourceArchive: IProtocolV2ResourceSource | undefined; }) => FirmwareUpdatePlan; export declare const buildFirmwareUpdatePlan: ({ features, firmwareType, platform, firmware, ble, bootloader, forceUpdateTargets, }: { features: Features; firmwareType: EFirmwareType; platform: FirmwareUpdatePlatform; firmware: ReleaseSelection; ble: ReleaseSelection; bootloader?: ReleaseSelection | undefined; forceUpdateTargets?: FirmwareUpdatePlanForceTarget[] | undefined; }) => FirmwareUpdatePlan; export {}; //# sourceMappingURL=FirmwareUpdatePlan.d.ts.map