import type { Stream } from "effect"; import { Context, Effect, Layer } from "effect"; import type { Abi, Address, TransactionReceipt } from "viem"; import type { ClientNotFoundError, EventDecodeError } from "../core/index.js"; import { EventWatchError, PublicClientService } from "../core/index.js"; import type { DecodedEvent } from "../events/index.js"; import type { ContractEventName } from "../types/index.js"; export type WatchParams> = { chainId: number; address?: Address; abi: TAbi; eventName: TEventName; fromBlock?: bigint; pollingInterval?: number; }; export type EventStreamShape = { readonly watch: >(params: WatchParams) => Effect.Effect, EventWatchError>, ClientNotFoundError>; readonly decodeReceipt: (receipt: TransactionReceipt, abi: TAbi) => Effect.Effect>[], EventDecodeError>; }; declare const EventStream_base: Context.TagClass; export declare class EventStream extends EventStream_base { } export declare const EventStreamLive: Layer.Layer; export {}; //# sourceMappingURL=stream.d.ts.map