/** * Contrato de metadatos de eventos de dominio (ADR-043) — espejo TS del * registro Go `services/events/routes.go`. Mantener ambos en sync. * * El sobre `meta` viaja con una operación async para que el ruteo a flujos * downstream (mailer, archiver...) se resuelva declarativamente en EventBridge. */ export declare const META_SCHEMA_VERSION = 1; /** Intención de ruteo: QUÉ hacer con la salida, no qué servicio lo hace. */ export type RouteIntent = 'email' | 'archive' | 'webhook'; /** Set de intents válidos. Sumar uno nuevo aquí y en el registro Go. */ export declare const KNOWN_ROUTES: readonly RouteIntent[]; export declare function isKnownRoute(r: string): r is RouteIntent; /** Valida que todos los tags de `routes` estén registrados. Lanza si no. */ export declare function validateRoutes(routes: string[] | undefined): void; /** * Sobre opaco que el caller declara al encolar. El productor no lo interpreta: * lo persiste y lo echa en el evento de completado. `params` chico e inline si * no es sensible; grande/PII por puntero ({ ref: "directives/" }). */ export interface EventMeta { schemaVersion?: number; correlationId?: string; origin?: string; routes?: RouteIntent[]; params?: Record; }