import { type Chain, type ContractFunctionReturnType, type ReadContractParameters, type WriteContractParameters } from "viem"; /** * Public contract client * * A client for interacting with public contracts */ export declare class PublicContractClient { private client; private provider; readonly abi: TAbi; readonly address?: `0x${string}`; readonly chain?: Chain; constructor(options?: { chain?: Chain; abi?: TAbi; address?: `0x${string}`; }); read["functionName"]>(functionName: TFunctionName, params?: Omit, "address" | "functionName" | "abi"> & { address?: `0x${string}`; }): Promise>; write["functionName"]>(functionName: TFunctionName, params?: Omit, "address" | "functionName" | "abi"> & { address?: `0x${string}`; }): Promise<`0x${string}`>; }