Estoy tratando de leer el código fuente de la biblioteca Turbo y encontré el siguiente código:
export class FrameElement extends HTMLElement { static delegateConstructor: new (element: FrameElement) => FrameElementDelegate } Entiendo que está creando una propiedad estática llamada delegateConstructor en la clase FrameElement , y la expresión new (element: FrameElement) => FrameElementDelegate es el tipo de delegateConstructor .
No entiendo qué tipo representa esta expresión y qué propósito intenta lograr esa línea. ¿ delegateConstructor es una función que toma un FrameElement y devuelve un FrameElementDelegate ? Además, ¿cuál es el uso de la new palabra clave en este contexto?