import { BytesLike, ethers } from 'ethers'; export type PromiseOrValue = T | Promise; export declare const UNKNOWN_ERROR = "UNKNOWN_ERROR"; export declare class BaseContractShim { readonly address: string; readonly contractInterface: ethers.utils.Interface; readonly provider: ethers.providers.Provider | undefined; readonly signer: ethers.Signer | undefined; private readonly abi; private readContract?; private writeContract?; constructor(address: string, provider: ethers.providers.Provider | undefined, abi: ethers.ContractInterface); get interface(): T_DEV_INTERFACE; get read(): T_DEV_CONTRACT; write(signer: ethers.Signer): T_DEV_CONTRACT; decodeFunctionResult(functionName: FnName, data: BytesLike): ethers.utils.Result; decodeFunctionData(functionName: FnName, data: BytesLike): ethers.utils.Result; encodeFunctionData>(functionName: FnName, args: FnParams): string; parseError(error: unknown): Error & { code?: string; data?: unknown; }; private getErrorData; parseLog(log: ethers.providers.Log): ethers.utils.LogDescription; private createReadContractInstance; private createWriteContractInstance; } //# sourceMappingURL=BaseContractShim.d.ts.map