import { Account } from '../../nevermined'; import { ContractEvent, SubgraphEvent } from '../../events'; import { Instantiable, InstantiableConfig } from '../../Instantiable.abstract'; import { ContractReceipt, ethers } from 'ethers'; import { BigNumber } from '../../utils'; export interface TxParameters { value?: string; gasLimit?: BigNumber; gasMultiplier?: number; gasPrice?: string; maxPriorityFeePerGas?: string; maxFeePerGas?: string; signer?: ethers.Signer; nonce?: number; progress?: (data: any) => void; } export declare abstract class ContractBase extends Instantiable { contractName: string; contract: ethers.Contract; events: ContractEvent | SubgraphEvent; version: string; get address(): string; constructor(contractName: string); getContract(): ethers.Contract; getAddress(): string; getSignatureOfMethod(methodName: string, args?: any[]): string; getInputsOfMethod(methodName: string): any[]; protected init(config: InstantiableConfig, optional?: boolean): Promise; protected getFromAddress(from?: string): Promise; sendFrom(name: string, args: any[], from?: Account, value?: TxParameters): Promise; private internalSend; send(name: string, from: string, args: any[], params?: TxParameters): Promise; call(name: string, args: any[], from?: string): Promise; private searchMethod; private searchMethodInputs; private estimateGas; private getFeeData; } export default ContractBase;