@adizen/events-hub-sdk
Version:
Official client SDK for triggering Events Hub workflows from any app
54 lines (51 loc) • 1.95 kB
text/typescript
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 };