В TypeScript для создания интерфейса с полями, которые не являются функциями, из класса с функциями и вложенными классами, можно использовать следующий подход:
1. Определите класс, в котором содержатся функции и вложенные классы:
class MyClass { public myFunction(): void { // логика функции } public nestedClass: { nestedProperty: string; } = { nestedProperty: 'Значение свойства вложенного класса', }; }
2. Создайте интерфейс, который будет описывать поля класса, не являющиеся функциями:
interface IMyInterface { nestedClass: { nestedProperty: string; }; }
3. Используйте интерфейс в своем коде:
const myObject: IMyInterface = new MyClass(); console.log(myObject.nestedClass.nestedProperty); // Выведет "Значение свойства вложенного класса"
Таким образом, вы можете создать интерфейс, который описывает только необходимые вам поля класса, не включая функции или другие ненужные свойства.