import { Context, Effect, Layer } from "effect";
import { ContractReader } from "../contract/index.js";
import type { MulticallCall } from "../types/index.js";
export type MulticallBatchOptions = {
readonly blockNumber?: bigint | undefined;
readonly blockTag?: import("viem").BlockTag | undefined;
};
export type MulticallBatcherShape = {
readonly enqueue: (chainId: number, call: MulticallCall, options?: MulticallBatchOptions | undefined) => Effect.Effect;
};
declare const MulticallBatcher_base: Context.TagClass;
export declare class MulticallBatcher extends MulticallBatcher_base {
}
export declare const MulticallBatcherLive: Layer.Layer;
export {};
//# sourceMappingURL=multicall-batcher.d.ts.map