import { BigNumber } from "bignumber.js";
import { CosmosTransaction, ElrondTransaction, RippleTransaction, SolanaTransaction, StellarTransaction, Transaction, TransactionCommon } from "@ledgerhq/wallet-api-client";
export type { SwapLiveError } from "@ledgerhq/wallet-api-exchange-module";
export declare function defaultTransaction({ family, amount, recipient, customFeeConfig, }: TransactionWithCustomFee): Transaction;
export declare function modeSendTransaction({ family, amount, recipient, customFeeConfig, }: TransactionWithCustomFee): Transaction;
export declare function stellarTransaction({ family, amount, recipient, customFeeConfig, payinExtraId, customErrorType, }: TransactionWithCustomFee): StellarTransaction;
export declare function rippleTransaction({ amount, recipient, customFeeConfig, payinExtraId, customErrorType, }: TransactionWithCustomFee): RippleTransaction;
export declare function withoutGasLimitTransaction({ family, amount, recipient, customFeeConfig, extraTransactionParameters, }: TransactionWithCustomFee): Transaction;
export declare function bitcoinTransaction({ amount, recipient, customFeeConfig, extraTransactionParameters, }: TransactionWithCustomFee): Transaction;
export declare function solanaTransaction({ family, amount, recipient, customFeeConfig, }: TransactionWithCustomFee): SolanaTransaction;
export declare function elrondTransaction({ amount, recipient, customFeeConfig, }: TransactionWithCustomFee): ElrondTransaction;
export declare function cosmosTransaction({ family, amount, recipient, customFeeConfig, payinExtraId, }: TransactionWithCustomFee): CosmosTransaction;
export type TransactionWithCustomFee = TransactionCommon & {
    customFeeConfig: {
        [key: string]: BigNumber;
    };
    payinExtraId?: string;
    customErrorType?: "swap";
    extraTransactionParameters?: string;
};
export type TransactionStrategyFunction = (params: TransactionWithCustomFee) => Transaction;
export declare const transactionStrategy: {
    [K in Transaction["family"]]: TransactionStrategyFunction;
};
//# sourceMappingURL=transactionStrategies.d.ts.map