/**
 * remote/event-name-map — legacy ↔ canonical AG-UI event type mapping.
 *
 * The Vauban SDK has emitted dotted-lowercase event types (`run.start`,
 * `assistant.delta`, `tool.call.start`, etc.) since 2.11.0. The AG-UI
 * canonical vocabulary (Linux Foundation, late 2025) defines those same
 * lifecycle events as UPPER_SNAKE_CASE (`RUN_STARTED`, `TEXT_MESSAGE_CONTENT`,
 * `TOOL_CALL_START`, etc.). This file is the SSOT of the bidirectional
 * mapping ; the hub uses it to translate type names at the emit boundary
 * when `eventNaming: "canonical"` is requested.
 *
 * Two Vauban extensions go beyond AG-UI (`tool.intent`, `instruction.injected`,
 * `hitl.request`, `hitl.resolved`) ; we project them onto the closest AG-UI
 * `CUSTOM`-prefixed name with a Vauban suffix so the conformance suite's
 * vocabulary check still passes. The `name` field of a `CUSTOM` event would
 * normally carry the Vauban-specific identifier ; here we lift the Vauban
 * semantic into the type itself for round-tripping fidelity, then declare
 * the projection as `CUSTOM_*` so the AG-UI vocabulary recognises it as a
 * customisation extension.
 *
 * **2.27.0 deprecation policy**
 *   - 2.27.0 : both names accepted on input ; default emit = legacy ; opt-in
 *     `eventNaming: "canonical"` flips emission to AG-UI canonical.
 *   - 2.28.0 : default emit flips to canonical ; legacy still accepted on input.
 *   - 2.29.0 : legacy aliases removed from documentation, deprecation warning
 *     on any legacy-mode emit.
 *   - 3.0.0  : legacy event type strings removed entirely.
 *
 * @public @since 2.27.0
 */
/**
 * Authoritative legacy → canonical map. Every key is a Vauban dotted-lowercase
 * event type string ; every value is the equivalent AG-UI canonical name.
 *
 * Gaps (events that have no direct AG-UI equivalent) are projected onto
 * `CUSTOM_*` so the conformance suite's closed-vocabulary check still passes
 * while Vauban semantic survives round-tripping.
 */
export declare const LEGACY_TO_CANONICAL: Record<string, string>;
/**
 * Inverted map — every canonical name maps back to its legacy alias. Useful
 * when downstream consumers configured for legacy mode receive a canonical
 * event off the wire and need to normalise it for legacy-aware handlers.
 */
export declare const CANONICAL_TO_LEGACY: Record<string, string>;
/**
 * Every event type name (legacy OR canonical) that the SDK recognises.
 * Used by `looksLikeSessionEvent` for the permissive type guard.
 */
export declare const ALL_KNOWN_EVENT_TYPES: ReadonlySet<string>;
/** Event naming convention chosen by the hub at construction time. */
export type EventNamingMode = "legacy" | "canonical";
/**
 * Normalise an event `type` string to the requested naming mode.
 *
 * Given a type that is already in the target convention, return it
 * unchanged. Given a type in the OTHER convention, translate it. Given
 * an unknown string (not in either convention), return it unchanged
 * so an unknown CUSTOM event still flows through verbatim.
 */
export declare function normalizeEventType(type: string, mode: EventNamingMode): string;
/**
 * Return true if the input `type` string is a known Vauban or canonical
 * AG-UI event type. The boundary is intentionally permissive ; consumers
 * that need stricter validation should `validateEvent` against the AG-UI
 * spec separately.
 */
export declare function isKnownEventType(type: string): boolean;
//# sourceMappingURL=event-name-map.d.ts.map