import { GetLatestAvailableFirmwareActionState, getLatestAvailableFirmwareAction as defaultGetLatestAvailableFirmwareAction } from "../actions/getLatestAvailableFirmware";
import type { IgnoredOSUpdates } from "@ledgerhq/types-live";
export type UseGetLatestAvailableFirmwareArgs = {
    getLatestAvailableFirmwareAction?: typeof defaultGetLatestAvailableFirmwareAction;
    deviceId: string;
    isHookEnabled?: boolean;
    ignoredOSUpdates?: IgnoredOSUpdates;
};
/**
 * Hook to get the latest available firmware that the device could update to
 *
 * @param `deviceId` A device id, or an empty string if device is usb plugged
 * @param isHookEnabled A boolean to enable (true, default value) or disable (false) the hook
 * @returns an object containing the state of the process to get the latest available firmware.
 *  The state is as follow (+ shared state with other actions):
 * - `firmwareUpdateContext`: the `FirmwareUpdateContext` when retrieved, null otherwise
 * - `deviceInfo`: the `DeviceInfo` when retrieved, null otherwise
 * - `status`: the current status of the action: "error" | "no-available-firmware" | "available-firmware" meaning the action has finished
 * - `error`: an error coming from the business logic, the device or internal. Some error are retried:
 *   `{ type`: "SharedError", retrying: true, ... }`
 * - `...sharedActionState`
 */
export declare const useGetLatestAvailableFirmware: ({ getLatestAvailableFirmwareAction, deviceId, isHookEnabled, ignoredOSUpdates, }: UseGetLatestAvailableFirmwareArgs) => {
    state: GetLatestAvailableFirmwareActionState;
};
//# sourceMappingURL=useGetLatestAvailableFirmware.d.ts.map