import type { DeviceId, DeviceInfo, FirmwareInfo } from "@ledgerhq/types-live";
import { Observable } from "rxjs";
import { SharedTaskEvent } from "./core";
export type GetDeviceInfoTaskArgs = {
    deviceId: DeviceId;
    deviceName: string | null;
};
export type GetDeviceInfoTaskError = "None";
export type GetDeviceInfoTaskErrorEvent = {
    type: "taskError";
    error: GetDeviceInfoTaskError;
};
export type GetDeviceInfoTaskEvent = {
    type: "data";
    deviceInfo: DeviceInfo;
} | GetDeviceInfoTaskErrorEvent | SharedTaskEvent;
export declare function internalGetDeviceInfoTask({ deviceId, deviceName, }: GetDeviceInfoTaskArgs): Observable<GetDeviceInfoTaskEvent>;
export declare const parseDeviceInfo: (firmwareInfo: FirmwareInfo) => DeviceInfo;
/**
 * Task to get the `DeviceInfo` of a device
 *
 * @param `deviceId` A device id, or an empty string if device is usb plugged
 * @returns An observable that emits `GetDeviceInfoTaskEvent` events
 */
export declare const getDeviceInfoTask: (args: GetDeviceInfoTaskArgs) => Observable<SharedTaskEvent | GetDeviceInfoTaskErrorEvent | {
    type: "data";
    deviceInfo: DeviceInfo;
}>;
//# sourceMappingURL=getDeviceInfo.d.ts.map