import { type AbiEvent, type ParseAbiItem } from "abitype"; import { type Hex } from "viem"; import type { AbiEventParametersToPrimitiveTypes } from "./types.js"; type ParseEvent = event extends AbiEvent ? event : event extends string ? event extends `event ${string}` ? ParseAbiItem : AbiEvent : never; type EventFilters = AbiEventParametersToPrimitiveTypes; export type PrepareEventOptions = { signature: TSignature; filters?: Readonly>>; }; export type PreparedEvent = { abiEvent: abiEvent; hash: Hex; topics: Hex[]; }; /** * Prepares an event by parsing the signature, generating the event hash, and encoding the event topics. * @param options - The options for preparing the event. * @returns The prepared event object. * @example * ```ts * import { prepareEvent } from "thirdweb"; * const myEvent = prepareEvent({ * signature: "event MyEvent(uint256 myArg)", * }); * ``` * @contract */ export declare function prepareEvent(options: PrepareEventOptions): PreparedEvent>; export {}; //# sourceMappingURL=prepare-event.d.ts.map