/** * A map of named listener sets. Each key maps to a `ListenerSet` that can have * multiple listeners registered. Typed through `T` so that `register` and * `compose` preserve per-key callback signatures. * * All keys are pre-initialized in the constructor so `register` can validate * keys. `compose()` only includes keys with at least one registered listener, * preserving callback-presence semantics used by the client as feature guards. * For included keys, composed functions delegate to the live listener set, so * listeners added/removed after `compose()` still take effect. Keys with no * listeners at compose time are omitted entirely; call `compose()` again after * registering listeners to pick up newly populated keys. */ export declare class ListenerMap void) | undefined>> { private sets; constructor(keys: readonly (keyof T & string)[]); /** * Register listeners for one or more keys. Returns a function that removes * all listeners added by this call. */ register(callbacks: Partial): () => void; /** * Compose all registered listeners into a single callbacks object. Each * composed function delegates to the live listener set, so listeners * added/removed after this call still take effect. */ compose(): Partial; } //# sourceMappingURL=ListenerMap.d.ts.map