/** * BaseEvent is a simple base class for all integration events. * It enforces a consistent shape and ensures only subclasses can be produced. * * Usage example: * * export class UserCreatedEvent extends BaseEvent<{ id: number; email: string }> { * public readonly name = 'user.created' as const; * constructor(id: number, email: string, occurredAt?: Date) { * super({ id, email }, occurredAt); * } * } */ export declare abstract class BaseEvent { /** Human-readable event name, e.g., "user.created" */ abstract get name(): string; /** Structured data payload */ readonly payload: TPayload; /** ISO time when the event occurred */ readonly occurredAt?: string; protected constructor(payload: TPayload, occurredAt?: Date); } //# sourceMappingURL=base-event.d.ts.map