import { updateFirmwareAction as defaultUpdateFirmwareAction, UpdateFirmwareActionState } from "../actions/updateFirmware";
export type UseUpdateFirmwareArgs = {
    deviceId: string;
    deviceName: string | null;
    updateFirmwareAction?: typeof defaultUpdateFirmwareAction;
};
/**
 * Hook used to trigger the update of a firmware, it isn't triggered right away but rather returns
 * a function that triggers it. The function can be called multiple times in order to implement a
 * retry strategy
 * @param Args Object containing the arguments of the hook: a deviceId and an optional device action to used (useful for mocking)
 * @returns An object containing the current state of the update and the trigger update function
 */
export declare function useUpdateFirmware({ deviceId, deviceName, updateFirmwareAction, }: UseUpdateFirmwareArgs): {
    updateState: UpdateFirmwareActionState;
    triggerUpdate: () => void;
};
//# sourceMappingURL=useUpdateFirmware.d.ts.map