import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
import type { Account } from "@ledgerhq/types-live";
import { BigNumber } from "bignumber.js";
import type { IconAccount, Transaction } from "./types";
/**
 * @param {string|number|BigNumber} value value as loop
 * @returns {BigNumber} value as ICX
 */
export declare const convertLoopToIcx: (value: string | number | BigNumber) => BigNumber;
/**
 * @param {string|number|BigNumber} value value as ICX
 * @returns {BigNumber} value as loop
 */
export declare const convertICXtoLoop: (value: string | number | BigNumber) => BigNumber;
export declare const EXISTENTIAL_DEPOSIT: BigNumber;
export declare const EXISTENTIAL_DEPOSIT_RECOMMENDED_MARGIN: BigNumber;
export declare const FEES_SAFETY_BUFFER: BigNumber;
/**
 * Returns true if address is a valid md5
 *
 * @param {string} address
 */
export declare const isValidAddress: (address: string) => boolean;
/**
 * Returns true if transaction is a self transaction
 *
 * @param {Account} account
 * @param {Transaction} transaction
 */
export declare const isSelfTransaction: (account: Account, transaction: Transaction) => boolean;
/**
 * Returns nonce for an account
 *
 * @param {Account} account
 */
export declare const getNonce: (account: IconAccount) => number;
/**
 * Returns true if the current currency is testnet
 *
 * @param {currency} CryptoCurrency
 */
export declare function isTestnet(currency: CryptoCurrency): boolean;
export declare function getNid(currency: CryptoCurrency): number;
/**
 * Calculates correct amount if useAllAmount
 *
 * @param {*} param
 */
export declare const calculateAmount: ({ account, transaction, }: {
    account: IconAccount;
    transaction: Transaction;
}) => BigNumber;
export declare const getMinimumBalance: (account: Account) => BigNumber;
//# sourceMappingURL=logic.d.ts.map