Búsqueda de sitios web

typescript - Describir archivo d.ts para biblioteca de terceros parcheada


chicos, necesito ayuda de expertos en TS

Hay una biblioteca de js, digamos @extended/react, que parchea el React original con algunos componentes adicionales

La pregunta es cómo podemos describir una declaración de TS para este parche de terceros. Aquí está el index.js de esa biblioteca

const React = require('react');
const reactDom = require('react-dom');
const ExtendedComponent = require('./ExtendedComponent');
React.ExtendedComponent = ExtendedComponent;
React.ReactDom = reactDom;

// Exporting patched React.js from module:
module.exports = React;

He intentado la fusión de espacios de nombres, la ampliación de módulos, generarlo a partir de jsdoc, implementar el parche en TS y generar a partir de eso, hasta ahora sin suerte

El objetivo final es que en algún lugar del módulo TS se pueda hacer algo como esto

import React, { useState } from '@extended/react';

export const Component: React.FC = () => {
    // default import from patched module
    const [defaultImport] = React.useState(true);

    // named import from original reac module
    const [namedImport] = useState(true);

    return (
        <div>Negocios son los negocios</div>
    );
};

// default import with added react dom
React.ReactDom.render(<Component />, document.body);

// default import with added new component
class C extends React.ExtendedComponent {

}

¿Tal vez alguien sabe cómo hacerlo correctamente?