UNPKG

@adizen/events-hub-sdk

Version:

Official client SDK for triggering Events Hub workflows from any app

54 lines (51 loc) 1.95 kB
import { EventsHubClientConfig, TriggerOptions, TriggerResponse, CreateEventDto, HandlerMetadata } from '@events-hub/types'; export * from '@events-hub/types/src'; interface EventsHubClientInit extends EventsHubClientConfig { /** * Base URL of your Events Hub backend, e.g. https://events.example.com */ baseUrl: string; /** * Optional header name for the API key (defaults to x-api-key). */ apiKeyHeader?: string; /** * Additional headers sent with every request. */ defaultHeaders?: Record<string, string>; } /** * Official client for calling Events Hub HTTP APIs. */ declare class EventsHubClient { private readonly http; private readonly apiKey?; private readonly apiKeyHeader; private readonly defaultHeaders; constructor(config: EventsHubClientInit); /** * Trigger a single event immediately (or with optional delay/schedule). */ trigger<TData = any>(eventName: string, data: TData, options?: TriggerOptions): Promise<TriggerResponse>; /** * Trigger multiple events in a single request. */ triggerBatch<TData = any>(events: CreateEventDto<TData>[]): Promise<TriggerResponse>; /** * Convenience helper to trigger an event after a delay (ms). */ triggerDelayed<TData = any>(eventName: string, data: TData, delayMs: number, options?: TriggerOptions): Promise<TriggerResponse>; /** * Convenience helper to schedule an event using a cron expression. */ triggerScheduled<TData = any>(eventName: string, data: TData, cronExpression: string, options?: TriggerOptions): Promise<TriggerResponse>; /** * Retrieve handler metadata (useful for schema introspection in apps). */ getHandler(handlerId: string): Promise<HandlerMetadata>; /** * Private helper to build HTTP headers. */ private buildRequestConfig; } export { EventsHubClient, type EventsHubClientInit };