import { EVMContractAddress, EVMAccountAddress, BlockchainCommonErrors } from "@snickerdoodlelabs/objects"; import { ethers } from "ethers"; import { ResultAsync } from "neverthrow"; import { IEthersContractError } from "../implementations/BlockchainErrorMapper.js"; import { IBaseContract, WrappedTransactionResponse } from "../interfaces/index.js"; import { ContractOverrides } from "../interfaces/objects/index.js"; export declare abstract class BaseContract implements IBaseContract { protected providerOrSigner: ethers.Provider | ethers.Signer; protected contractAddress: EVMContractAddress; protected abi: ethers.InterfaceAbi; protected contract: ethers.Contract; protected contractAbi: ethers.InterfaceAbi; protected hasSigner: boolean; constructor(providerOrSigner: ethers.Provider | ethers.Signer, contractAddress: EVMContractAddress, abi: ethers.InterfaceAbi); getContractAddress(): EVMContractAddress; getContract(): ethers.Contract; protected assureSigner(functionName: string): ResultAsync; protected generateError(error: unknown, errorMessage: string): TContractSpecificError | BlockchainCommonErrors; protected abstract generateContractSpecificError(msg: string, e: IEthersContractError, transaction: ethers.Transaction | null): TContractSpecificError; protected writeToContract(functionName: string, functionParams: any[], overrides?: ContractOverrides): ResultAsync; static buildWrappedTransactionResponse(transactionResponse: ethers.TransactionResponse, contractAddress: EVMContractAddress, signerAddress: EVMAccountAddress, functionName: string, functionParams: any[], contractAbi: any): WrappedTransactionResponse; static extractFunctionAbi(functionName: string, contractAbi: any): string; } //# sourceMappingURL=BaseContract.d.ts.map