import { RubicSdkError } from '../../../../../../common/errors';
import { BitcoinPsbtEncodedConfig } from '../../../../../../core/blockchain/web3-private-service/web3-private/bitcoin-web3-private/models/bitcoin-psbt-encoded-config';
import { BitcoinTransferEncodedConfig } from '../../../../../../core/blockchain/web3-private-service/web3-private/bitcoin-web3-private/models/bitcoin-transfer-encoded-config';
import { TonEncodedConfig } from '../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/models/ton-types';
import { EvmEncodeConfig } from '../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config';
import { TronTransactionConfig } from '../../../../../../core/blockchain/web3-pure/typed-web3-pure/tron-web3-pure/models/tron-transaction-config';
import { CrossChainTradeType } from '../../../models/cross-chain-trade-type';
import { CrossChainTrade } from '../cross-chain-trade';
export type CalculationResult<T = EvmEncodeConfig | null | TronTransactionConfig | {
    data: string;
} | TonEncodedConfig | BitcoinTransferEncodedConfig | BitcoinPsbtEncodedConfig> = {
    trade: CrossChainTrade<T>;
    error?: RubicSdkError;
    tradeType: CrossChainTradeType;
} | {
    trade: null;
    error: RubicSdkError;
    tradeType: CrossChainTradeType;
};
