If I have a type with all required properties, how can I define another type with the same properties where some of it\'s properties are still required but the rest are opti
You can use combination of Partial and Pick to make all properties partial and then pick only some that are required:
interface SomeType {
prop1: string;
prop2: string;
prop3: string;
propn: string;
}
type OptionalExceptFor = Partial & Pick
type NewType = OptionalExceptFor
let o : NewType = {
prop1: "",
prop2: ""
}