Como digito esse atributo 'como' JSX no TypeScript?

Estou descrevendo uma biblioteca React que leva um nome de componente ou tag HTML através de um atributo chamadoas. Quando determinado oas, ele cria um elemento a partir desse nome de componente / tag e transmite quaisquer outros atributo

Aqui estão alguns exemplos

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

Eu sei disso UI Semântica faz algo semelhante com melhorias. Como eu digitaria isso no TypeScript?

questionAnswers(1)

yourAnswerToTheQuestion