Generic newable constructor type compatible with the DOM's
CustomElementConstructor. Used by BUILT_IN_ELEMENTS (the
canonical-tag → element-constructor map) so the map's value type
carries enough structure for customElements.define to accept it
without an as cast.
Matches the DOM type-library signature
interface CustomElementConstructor { new (...params: any[]): HTMLElement; }
but parameterised over a T extends HTMLElement so it can also be
used in narrower contexts.
unknown[] is used in the parameter list — the DOM lib uses
any[], but unknown[] is the strict-mode equivalent that
accepts any positional argument shape without using any.
Generic newable constructor type compatible with the DOM's
CustomElementConstructor. Used by BUILT_IN_ELEMENTS (the canonical-tag → element-constructor map) so the map's value type carries enough structure forcustomElements.defineto accept it without anascast.Matches the DOM type-library signature
interface CustomElementConstructor { new (...params: any[]): HTMLElement; }but parameterised over aT extends HTMLElementso it can also be used in narrower contexts.unknown[]is used in the parameter list — the DOM lib usesany[], butunknown[]is the strict-mode equivalent that accepts any positional argument shape without usingany.