///
import { BaseMethod } from '../BaseMethod';
import type { FirmwareProgress, IFirmwareUpdateProgressType, IFirmwareUpdateTipMessage } from '../../events/ui-request';
import type { PROTO } from '../../constants';
import type { RebootType } from '@onekeyfe/hd-transport';
import type { Deferred } from '@onekeyfe/hd-shared';
import type { TypedResponseMessage } from '../../device/DeviceCommands';
import type { FirmwareByteSource } from './FirmwareArtifactSource';
export declare const BOOTLOADER_POLL_INITIALIZE_TIMEOUT_MS = 5000;
type FirmwareProgressMetadata = Pick;
export declare class FirmwareUpdateBaseMethod extends BaseMethod {
checkPromise: Deferred | null;
init(): void;
run(): Promise;
isBleReconnect(): boolean;
postTipMessage: (message: IFirmwareUpdateTipMessage) => void;
postProcessingMessage: (type: 'firmware' | 'ble' | 'bootloader' | 'resource') => void;
postProgressMessage: (progress: number, progressType: IFirmwareUpdateProgressType, metrics?: FirmwareProgressMetadata) => void;
protected _promptDeviceInBootloaderForWebDevice(): Promise;
protected _promptDeviceForSwitchFirmwareWebDevice(): Promise;
checkDeviceToBootloader(connectId: string | undefined): void;
private _checkDeviceInBootloaderMode;
enterBootloaderMode(): Promise;
startEmmcFirmwareUpdate({ path }: {
path: string;
}): Promise;
createUpdatesFolderIfNotExists(path: string): Promise;
emmcCommonUpdateProcess({ payload, filePath, processedSize, totalSize, }: PROTO.FirmwareUpload & {
filePath: string;
processedSize?: number;
totalSize?: number;
}): Promise;
emmcCommonUpdateProcessFromSource({ source, filePath, processedSize, totalSize, }: {
source: FirmwareByteSource;
filePath: string;
processedSize?: number;
totalSize?: number;
}): Promise;
emmcFileWriteWithRetry(filePath: string, chunkLength: number, offset: number, chunk: ArrayBuffer | Buffer, overwrite: boolean, progress: number | null): Promise | undefined>;
reboot(rebootType: RebootType): Promise;
}
export {};
//# sourceMappingURL=FirmwareUpdateBaseMethod.d.ts.map