¿Cómo escribo este atributo 'como' JSX en TypeScript?

Estoy describiendo una biblioteca React que toma un componente o nombre de etiqueta HTML a través de un atributo llamadoas. Cuando se le da laas atributo, crea un elemento a partir de ese nombre de componente / etiqueta y pasa cualquier otro atributo dado.

Aquí hay unos ejemplos

<Foo as="a" href="https://example.com" />
<Foo as={FancyButton} fancyButtonAttr="hello!" />

Yo sé esoa interfaz de usuario semántica hace algo similar con los aumento. ¿Cómo haría para escribir esto en TypeScript?

Respuestas a la pregunta(1)

Su respuesta a la pregunta