import type { Layer } from "effect"; import { Effect, Stream } from "effect"; import type { Block, Hash } from "viem"; import type { BlockNotFoundError, BlockTimeoutError } from "../block/index.js"; import { BlockService } from "../block/index.js"; import type { ClientNotFoundError, TransportError } from "../core/index.js"; export type MockBlockServiceConfig = { getBlock?: (params: { chainId: number; blockNumber?: bigint; blockTag?: "latest" | "pending" | "earliest" | "safe" | "finalized"; includeTransactions?: boolean; }) => Effect.Effect; getBlockByHash?: (params: { chainId: number; hash: Hash; includeTransactions?: boolean; }) => Effect.Effect; getBlockNumber?: (params: { chainId: number; }) => Effect.Effect; watchBlocks?: (params: { chainId: number; pollingInterval?: number; includeTransactions?: boolean; }) => Effect.Effect, ClientNotFoundError>; waitForBlock?: (params: { chainId: number; blockNumber: bigint; timeout?: number; }) => Effect.Effect; getBlocks?: (params: { chainId: number; fromBlock: bigint; toBlock: bigint; includeTransactions?: boolean; }) => Effect.Effect; getBlockTimestamp?: (params: { chainId: number; blockNumber?: bigint; }) => Effect.Effect; }; export declare const makeMockBlockServiceLayer: (config?: MockBlockServiceConfig, supportedChainId?: number) => Layer.Layer; //# sourceMappingURL=mock-block-service.d.ts.map