import { OperatorFunction } from "rxjs";
import type { AppCandidate } from "@ledgerhq/coin-framework/bot/types";
import type { AppSpec, SpecReport, MutationReport, DeviceAction } from "./types";
import type { Account, SignOperationEvent, TransactionCommon } from "@ledgerhq/types-live";
import type { TransactionStatus } from "../generated/types";
export declare function runWithAppSpec<T extends TransactionCommon>(spec: AppSpec<T>, reportLog: (arg0: string) => void): Promise<SpecReport<T>>;
export declare function runOnAccount<T extends TransactionCommon>({ appCandidate, spec, device, account, accounts, accountIdsNeedResync, mutationsCount, resyncAccountsDuration, preloadedData, }: {
    appCandidate: any;
    spec: AppSpec<T>;
    device: any;
    account: any;
    accounts: any;
    accountIdsNeedResync: string[];
    mutationsCount: Record<string, number>;
    resyncAccountsDuration: number;
    preloadedData: any;
}): Promise<MutationReport<T>>;
export declare function autoSignTransaction<T extends TransactionCommon>({ transport, deviceAction, appCandidate, account, transaction, status, disableStrictStepValueValidation, }: {
    transport: any;
    deviceAction: DeviceAction<T, any>;
    appCandidate: AppCandidate;
    account: Account;
    transaction: T;
    status: TransactionStatus;
    disableStrictStepValueValidation?: boolean;
}): OperatorFunction<SignOperationEvent, SignOperationEvent>;
//# sourceMappingURL=engine.d.ts.map