import type { ITransactionRequestConfig, ITransactionWriteResult } from '../interfaces'; import type { Logger } from '../utils'; export declare abstract class BaseContractMethod { logger: Logger; constructor(logger: Logger); abstract get address(): string; abstract read(tx?: ITransactionRequestConfig, defaultBlock?: number | string): Promise; abstract write(tx: ITransactionRequestConfig): ITransactionWriteResult; abstract estimateGas(tx: ITransactionRequestConfig): Promise; abstract encodeABI(): any; }