import { Effect, Option } from "effect"; import type { Abi, Address, Hash, Log, TransactionReceipt } from "viem"; import { EventDecodeError } from "../core/index.js"; import type { ContractEventArgs, ContractEventName } from "../types/index.js"; export type DecodedEvent = { eventName: TEventName; args: TEventName extends ContractEventName ? ContractEventArgs : Record; address: Address; blockNumber: bigint; transactionHash: Hash; logIndex: number; removed: boolean; }; export declare function tryDecodeLog(log: Log, abi: TAbi): Option.Option>>; export declare const decodeLogOrFail: (log: Log, abi: TAbi) => Effect.Effect>, EventDecodeError>; export declare const decodeReceiptLogs: (receipt: TransactionReceipt, abi: TAbi) => Effect.Effect>[], EventDecodeError>; export declare const decodeReceiptLogsByName: >(receipt: TransactionReceipt, abi: TAbi, eventName: TEventName) => Effect.Effect[], EventDecodeError>; //# sourceMappingURL=decoder.d.ts.map