import type { DeviceModelId } from "@ledgerhq/devices";
import type { AppCandidate } from "@ledgerhq/coin-framework/bot/types";
import { closeAllSpeculosDevices, releaseSpeculosDevice, createSpeculosDevice } from "@ledgerhq/speculos-transport";
import type { SpeculosTransport } from "@ledgerhq/speculos-transport";
export { closeAllSpeculosDevices, releaseSpeculosDevice, createSpeculosDevice };
export type { SpeculosTransport };
export declare function listAppCandidates(cwd: string): Promise<AppCandidate[]>;
export type AppSearch = {
    model?: DeviceModelId;
    firmware?: string;
    appName?: string;
    appVersion?: string;
};
export declare function appCandidatesMatches(appCandidate: AppCandidate, search: AppSearch): boolean;
export declare const findLatestAppCandidate: (appCandidates: AppCandidate[], search: AppSearch) => AppCandidate | null;
export declare const findAppCandidate: (appCandidates: AppCandidate[], search: AppSearch, picker?: (arg0: AppCandidate[]) => AppCandidate) => AppCandidate | null | undefined;
export declare function createImplicitSpeculos(query: string): Promise<{
    device: {
        transport: SpeculosTransport;
        id: string;
    };
    appCandidate: AppCandidate;
} | null>;
//# sourceMappingURL=speculos.d.ts.map