import { DeviceId, DeviceInfo } from "@ledgerhq/types-live";
import { Observable } from "rxjs";
import { FullActionState } from "./core";
export type updateFirmwareActionArgs = {
    deviceId: DeviceId;
    deviceName: string | null;
};
export type UpdateFirmwareActionState = FullActionState<{
    step: "preparingUpdate" | "allowSecureChannelRequested" | "allowSecureChannelDenied" | "installingOsu" | "installOsuDevicePermissionRequested" | "installOsuDevicePermissionGranted" | "installOsuDevicePermissionDenied" | "flashingMcu" | "flashingBootloader" | "firmwareUpdateCompleted";
    progress: number;
    updatedDeviceInfo?: DeviceInfo;
    error: {
        type: "UpdateFirmwareError";
        name: string;
    };
}>;
export declare const initialState: UpdateFirmwareActionState;
/**
 * Device Action used to update the firmware installed on a Ledger device
 * @param deviceId the transport id of the device to be updated
 * @returns an Observables that emits the evolution of the state machine of the firmware installation
 */
export declare function updateFirmwareAction({ deviceId, deviceName, }: updateFirmwareActionArgs): Observable<UpdateFirmwareActionState>;
//# sourceMappingURL=updateFirmware.d.ts.map