import Transport from "@ledgerhq/hw-transport";
import { Application, Category, DeviceInfo, DeviceVersion, FinalFirmware, LanguagePackage, McuVersion, OsuFirmware, SocketEvent } from "@ledgerhq/types-live";
import { Observable } from "rxjs";
declare global {
    namespace NodeJS {
        interface Global {
            _listInstalledApps_mock_result: any;
        }
    }
}
export type ListInstalledAppsEvent = SocketEvent | {
    type: "result";
    payload: Array<{
        hash: string;
        name: string;
        hash_code_data?: string;
    }>;
};
declare function retrieveMcuVersion({ mcu_versions, }: FinalFirmware): Promise<McuVersion | undefined>;
declare const API: {
    /** @deprecated use getAppsCatalogForDevice (from ledger-live-common/src/device/use-cases) instead */
    listApps: () => Promise<Array<Application>>;
    listInstalledApps: (transport: Transport, { targetId, perso, }: {
        targetId: any;
        perso: any;
    }) => Observable<ListInstalledAppsEvent>;
    listCategories: () => Promise<Array<Category>>;
    getLanguagePackagesForDevice: (deviceInfo: DeviceInfo) => Promise<LanguagePackage[]>;
    getCurrentOSU: (input: {
        version: string;
        deviceId: string | number;
        provider: number;
    }) => Promise<OsuFirmware>;
    compatibleMCUForDeviceInfo: (mcus: McuVersion[], deviceInfo: DeviceInfo, provider: number) => McuVersion[];
    findBestMCU: (compatibleMCU: McuVersion[]) => McuVersion | undefined;
    getCurrentFirmware: (input: {
        version: string;
        deviceId: string | number;
        provider: number;
    }) => Promise<FinalFirmware>;
    getFinalFirmwareById: (id: number) => Promise<FinalFirmware>;
    getDeviceVersion: (targetId: string | number, provider: number) => Promise<DeviceVersion>;
    install: (transport: Transport, context: string, params: any, unresponsiveExpectedDuringBulk?: boolean) => Observable<any>;
    genuineCheck: (transport: Transport, { targetId, perso, }: {
        targetId: any;
        perso: any;
    }) => Observable<any>;
    installMcu: (transport: Transport, context: string, { targetId, version, }: {
        targetId: number | string;
        version: string;
    }) => Observable<any>;
    retrieveMcuVersion: typeof retrieveMcuVersion;
};
export default API;
//# sourceMappingURL=api.d.ts.map