Универсальным типом одновремено подходящим для классовых и функциональных компонентов , судя по всему, является React.ComponentType (далее его сигнатура из исходников React):
type ComponentType<P = {}>
= ComponentClass<P> | FunctionComponent<P>;
-- подходит в т.ч. для случая когда вы получаете переменную, а потом делаете из неё JSX-элемент (добавляя к имени угловые скобки и выставляя пропсы)
Например: