import { Abi } from "../abi"; import { BaseController, BaseControllerInput, IAccount, IGasLimitEstimator, SmartContractQuery, SmartContractQueryInput, SmartContractQueryResponse, Transaction, TransactionOnNetwork } from "../core"; import { INetworkProvider } from "../networkProviders/interface"; import * as resources from "./resources"; import { SmartContractTransactionsFactory } from "./smartContractTransactionsFactory"; export declare class SmartContractController extends BaseController { protected factory: SmartContractTransactionsFactory; private parser; private transactionWatcher; private networkProvider; protected abi?: Abi; constructor(options: { chainID: string; networkProvider: INetworkProvider; abi?: Abi; gasLimitEstimator?: IGasLimitEstimator; }); createTransactionForDeploy(sender: IAccount, nonce: bigint, options: resources.ContractDeployInput & BaseControllerInput): Promise; parseDeploy(transactionOnNetwork: TransactionOnNetwork): resources.SmartContractDeployOutcome; awaitCompletedDeploy(txHash: string): Promise; createTransactionForUpgrade(sender: IAccount, nonce: bigint, options: resources.ContractUpgradeInput & BaseControllerInput): Promise; createTransactionForExecute(sender: IAccount, nonce: bigint, options: resources.ContractExecuteInput & BaseControllerInput): Promise; parseExecute(transactionOnNetwork: TransactionOnNetwork): resources.ParsedSmartContractCallOutcome; awaitCompletedExecute(txHash: string): Promise; query(options: SmartContractQueryInput): Promise; runQuery(query: SmartContractQuery): Promise; createQuery(options: SmartContractQueryInput): SmartContractQuery; private raiseForStatus; parseQueryResponse(response: SmartContractQueryResponse): any[]; private encodeArguments; private areArgsOfTypedValue; private areArgsBuffers; }