import type { Layer } from "effect"; import { Effect, Stream, SubscriptionRef } from "effect"; import type { Address, Block, Hash, Hex, Log } from "viem"; import type { SubscriptionConnectionState, SubscriptionRetryConfig } from "../subscriptions/index.js"; import { SubscriptionService } from "../subscriptions/index.js"; export type MockSubscriptionServiceConfig = { watchBlocks?: (params: { chainId: number; includeTransactions?: boolean; pollingInterval?: number; }) => Effect.Effect>; watchLogs?: (params: { chainId: number; address?: Address | Address[]; topics?: (Hex | Hex[] | null)[]; pollingInterval?: number; }) => Effect.Effect>; watchPendingTransactions?: (params: { chainId: number; pollingInterval?: number; }) => Effect.Effect>; watchBlocksRetrying?: (params: { chainId: number; includeTransactions?: boolean; pollingInterval?: number; retry?: SubscriptionRetryConfig; }) => Effect.Effect<{ stateRef: SubscriptionRef.SubscriptionRef; stream: Stream.Stream; }>; watchLogsRetrying?: (params: { chainId: number; address?: Address | Address[]; topics?: (Hex | Hex[] | null)[]; pollingInterval?: number; retry?: SubscriptionRetryConfig; }) => Effect.Effect<{ stateRef: SubscriptionRef.SubscriptionRef; stream: Stream.Stream; }>; watchPendingTransactionsRetrying?: (params: { chainId: number; pollingInterval?: number; retry?: SubscriptionRetryConfig; }) => Effect.Effect<{ stateRef: SubscriptionRef.SubscriptionRef; stream: Stream.Stream; }>; hasWebSocket?: (chainId: number) => Effect.Effect; }; export declare const makeMockSubscriptionServiceLayer: (config?: MockSubscriptionServiceConfig, supportedChainId?: number) => Layer.Layer; //# sourceMappingURL=mock-subscription-service.d.ts.map