import { HatchetClient } from "@hatchet-dev/typescript-sdk"; import type { AnyEventDefinition, EventInput } from "../events/index.js"; import type { HostRunFn } from "../execution/index.js"; type EventClient = HatchetClient["events"]; type EventEmitOptions = Parameters[2]; type Event = Awaited>; export declare class Client { private readonly client; readonly run: HostRunFn; constructor(client: HatchetClient); /** * Access to the underlying HatchetClient SDK. * Use for advanced features not wrapped by this library. */ get sdk(): HatchetClient; /** * Emit a single event. * * @param event The event definition to emit. * @param input The event payload (must match the event's schema). * @param options Optional emit configuration. * @returns The emitted event. * * @example * ```typescript * await client.emit(UserCreatedEvent, { userId: "123", email: "user@example.com" }); * ``` */ emit(event: E, input: EventInput, options?: EventEmitOptions): Promise; /** * Emit multiple events of the same type. * * @param event The event definition to emit. * @param inputs Array of event payloads. * @param options Optional emit configuration. * @returns Array of emitted events. * * @example * ```typescript * await client.emitBulk(OrderPlacedEvent, [ * { orderId: "1", userId: "123", total: 100 }, * { orderId: "2", userId: "456", total: 200 }, * ]); * ``` */ emitBulk(event: E, inputs: EventInput[], options?: EventEmitOptions): Promise; } export {};