/** * @module event-versions * @category Internal * * Auto-deprecation of legacy event versions via the `_v` naming * convention (ACT-403). * * Act's schema-evolution pattern keeps the old and new event names alive * forever — the old name on the read path (reducers), the new on the write * path (emissions). This module reads the convention to identify legacy * versions automatically; the framework then enforces "emit only the * current version" at build time and warns at runtime for dynamic emits. * * Convention pin: only `_v` with digits ≥ 2 counts as a version * suffix. `Foo_v1` is just a literal event name (the base `Foo` is * implicitly v1). Pinning here keeps the contract surface small. * * @internal */ /** * Returns the set of event names that are deprecated by virtue of having * a higher-numbered sibling in the registry. The highest version in each * group is the current version; every lower version is deprecated. * * Gaps are allowed: `{Foo, Foo_v3}` → `Foo` is deprecated, `Foo_v3` is * current. The framework picks the max regardless of contiguity. * * Single-version groups (no siblings) yield no deprecations. * * @internal */ export declare function deprecated_event_names(names: Iterable): Set; /** * Given a deprecated event name and the full set of event names in its * registry, returns the current (highest-version) sibling. Used to build * actionable error messages — "use `Foo_v3` instead." * * Returns `undefined` if the event has no higher-versioned sibling (which * means the caller's classification is stale or wrong). * * @internal */ export declare function current_version_of(deprecated_name: string, all_names: Iterable): string | undefined; //# sourceMappingURL=event-versions.d.ts.map