import { ContractCallTransaction } from '@stacks/stacks-blockchain-api-types'; import { ContractBaseType, ParameterObjOfDescriptor, ReturnTypeOfDescriptor, OpenCallFunctionDescriptor } from './contractBase.mjs'; import './types.mjs'; import '@stacks/transactions'; type ContractCallTransactionResultMap = { [C in keyof Contracts]: { [F in keyof Contracts[C]]: { contractName: C; functionName: F; args: ParameterObjOfDescriptor; result: ReturnTypeOfDescriptor; }; }; }; type ContractCallTransactionResult = { [K in keyof ContractCallTransactionResultMap]: ContractCallTransactionResultMap[K][keyof ContractCallTransactionResultMap[K]]; }[keyof ContractCallTransactionResultMap]; declare function decodeContractCallTransaction(contracts: Contracts, tx: ContractCallTransaction): ContractCallTransactionResult; declare function decodeSpecifiedContractCallTransaction(contracts: Contracts, contractOrType: T, functionName: F, tx: ContractCallTransaction): Contracts[T][F] extends OpenCallFunctionDescriptor ? { args: ParameterObjOfDescriptor; result: ReturnTypeOfDescriptor; raw: ContractCallTransaction; } : never; export { type ContractCallTransactionResult, type ContractCallTransactionResultMap, decodeContractCallTransaction, decodeSpecifiedContractCallTransaction };