вы не можете "ослабить" тип указав его опциональным. так можно только "усилить" тип, делая из него, ранее опционального, ныне обязательным чтобы сделать то что вам хочется, можете попробовать вот так: type MyType = string | number; interface Document { _id: any; key: string; other_key: boolean; // Прочие ключи из внешнего интерфейса } // Partial делает все ключи из переданного ему интерфейса опциональными interface IDoc extends Partial<Document> { // тут уже полность ваш интерфейс и вы можете как переопределять типы этих ключе // так и выбирать какие ключи сделать обязательными, а какие оставить опциональными _id?: MyType, // и так далее } только хорошо подумайте, нужно ли вам это, т.к. дальше в приложении вы должны будет сами поддерживать актуальность интерфейсов при обновлениях да и как бы разрабы пакета не просто ж так описали интерфейсы именно так
Обсуждают сегодня