import { ApproveCustodialTransfer, Currency, GenerateCustodialAddress, GenerateCustodialAddressBatch, GenerateTronCustodialAddress, TransactionHash, TransferFromCustodialAddress, TransferFromCustodialAddressBatch, TransferFromTronCustodialAddress, TransferFromTronCustodialAddressBatch } from '../model';
export declare const obtainCustodialAddressType: (body: GenerateCustodialAddress) => {
    abi: ({
        anonymous: boolean;
        inputs: {
            indexed: boolean;
            internalType: string;
            name: string;
            type: string;
        }[];
        name: string;
        type: string;
        outputs?: undefined;
        stateMutability?: undefined;
    } | {
        inputs: {
            internalType: string;
            name: string;
            type: string;
        }[];
        name: string;
        outputs: {
            internalType: string;
            name: string;
            type: string;
        }[];
        stateMutability: string;
        type: string;
        anonymous?: undefined;
    } | {
        stateMutability: string;
        type: string;
        anonymous?: undefined;
        inputs?: undefined;
        name?: undefined;
        outputs?: undefined;
    })[];
    code: string;
};
export declare const getCustodialAddresses: (chain: Currency, txId: string) => Promise<string[]>;
/**
 * This method is @Deprecated. Use @link{generateCustodialWalletBatch} instead
 * Generate new smart contract based custodial wallet. This wallet is able to receive any type of assets, but transaction costs connected to the withdrawal
 * of assets is covered by the deployer.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const generateCustodialWallet: (testnet: boolean, body: GenerateCustodialAddress | GenerateTronCustodialAddress, provider?: string | undefined) => Promise<TransactionHash>;
/**
 * This method is @Deprecated. Use @link{prepareCustodialWalletBatch} instead
 * Generate new smart contract based custodial wallet. This wallet is able to receive any type of assets, but transaction costs connected to the withdrawal
 * of assets is covered by the deployer.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const prepareCustodialWallet: (testnet: boolean, body: GenerateCustodialAddress | GenerateTronCustodialAddress, provider?: string | undefined) => Promise<string>;
/**
 * Generate new smart contract based custodial wallet. This wallet is able to receive any type of assets, but transaction costs connected to the withdrawal
 * of assets is covered by the deployer.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const generateCustodialWalletBatch: (testnet: boolean, body: GenerateCustodialAddressBatch, provider?: string | undefined) => Promise<TransactionHash>;
/**
 * Generate new smart contract based custodial wallet. This wallet is able to receive any type of assets, but transaction costs connected to the withdrawal
 * of assets is covered by the deployer.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const prepareCustodialWalletBatch: (testnet: boolean, body: GenerateCustodialAddressBatch, provider?: string | undefined) => Promise<string>;
/**
 * @Deprecated, use generateCustodialWalletBatch
 * Generate new smart contract based custodial wallet. This wallet is able to receive any type of assets, but transaction costs connected to the withdrawal
 * of assets is covered by the deployer.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const sendCustodialWallet: (testnet: boolean, body: GenerateCustodialAddress | GenerateTronCustodialAddress, provider?: string | undefined) => Promise<unknown>;
/**
 * Prepare signed transaction from the custodial SC wallet.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const prepareTransferFromCustodialWallet: (testnet: boolean, body: TransferFromCustodialAddress | TransferFromTronCustodialAddress, provider?: string | undefined) => Promise<string>;
/**
 * Send signed transaction from the custodial SC wallet.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const sendTransferFromCustodialWallet: (testnet: boolean, body: TransferFromCustodialAddress | TransferFromTronCustodialAddress, provider?: string | undefined) => Promise<unknown>;
/**
 * Prepare signed batch transaction from the custodial SC wallet.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const prepareBatchTransferFromCustodialWallet: (testnet: boolean, body: TransferFromCustodialAddressBatch | TransferFromTronCustodialAddressBatch, provider?: string | undefined) => Promise<string>;
/**
 * Send signed batch transaction from the custodial SC wallet.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const sendBatchTransferFromCustodialWallet: (testnet: boolean, body: TransferFromCustodialAddressBatch | TransferFromTronCustodialAddressBatch, provider?: string | undefined) => Promise<unknown>;
/**
 * Prepare signed approve transaction from the custodial SC wallet.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const prepareApproveFromCustodialWallet: (testnet: boolean, body: ApproveCustodialTransfer, provider?: string | undefined) => Promise<string>;
/**
 * Send signed approve transaction from the custodial SC wallet.
 * @param testnet chain to work with
 * @param body request data
 * @param provider optional provider to enter. if not present, Tatum Web3 will be used.
 * @returns {txId: string} Transaction ID of the operation, or signatureID in case of Tatum KMS
 */
export declare const sendApproveFromCustodialWallet: (testnet: boolean, body: ApproveCustodialTransfer, provider?: string | undefined) => Promise<unknown>;
