import { Context, Effect, Layer } from "effect"; import type { Abi } from "viem"; import type { ClientNotFoundError } from "../core/index.js"; import { ContractReadError, MulticallError, PublicClientService } from "../core/index.js"; import type { ContractFunctionName, ContractFunctionReturnType, ExtractMulticallReturnType, MulticallCall, MulticallResult, ReadParams } from "../types/index.js"; export type ContractReaderShape = { readonly read: >(params: ReadParams) => Effect.Effect, ContractReadError | ClientNotFoundError>; readonly multicall: (chainId: number, calls: TCalls, options?: { readonly blockNumber?: bigint | undefined; readonly blockTag?: import("viem").BlockTag | undefined; }) => Effect.Effect<{ readonly [K in keyof TCalls]: MulticallResult>; }, MulticallError | ClientNotFoundError>; }; declare const ContractReader_base: Context.TagClass; export declare class ContractReader extends ContractReader_base { } export declare const ContractReaderLive: Layer.Layer; export {}; //# sourceMappingURL=reader.d.ts.map