import { Amount, BlockchainAddress, IsoDatetime } from '@dfns/datamodel/dist/Foundations'; import { EvmLog, TransactionStatus } from '..'; export declare enum TronTransactionKind { TransferContract = "TransferContract", TransferAssetContract = "TransferAssetContract", TriggerSmartContract = "TriggerSmartContract" } export type TronReceipt = { fee?: Amount; energyFee?: Amount; energyUsage?: Amount; netFee?: Amount; netUsage?: Amount; status: TransactionStatus; error?: string; }; export type TronTransferTransaction = { kind: TronTransactionKind.TransferContract; hash: string; blockNumber: number; feeLimit?: Amount; from: BlockchainAddress; to: BlockchainAddress; amount: Amount; receipt: TronReceipt; }; export type TronTransferAssetTransaction = { kind: TronTransactionKind.TransferAssetContract; hash: string; blockNumber: number; feeLimit?: Amount; from: BlockchainAddress; to: BlockchainAddress; asset: string; amount: Amount; receipt: TronReceipt; }; export type TronSmartContractTransaction = { kind: TronTransactionKind.TriggerSmartContract; hash: string; blockNumber: number; feeLimit?: Amount; from: BlockchainAddress; contract: BlockchainAddress; data: string; logs: EvmLog[]; receipt: TronReceipt; }; export type TronUntypedTransaction = { kind: TronTransactionKind; hash: string; blockNumber: number; feeLimit?: Amount; from: BlockchainAddress; parameters: Record; receipt: TronReceipt; }; export type TronTransaction = TronTransferTransaction | TronTransferAssetTransaction | TronSmartContractTransaction | TronUntypedTransaction; export type TronBlock = { hash: string; number: number; timestamp: IsoDatetime; transactions: TronTransaction[]; };