Я пытаюсь определить интерфейс, расширяющий свойства из возвращаемого типа существующей функции. Но тип возвращаемого значения функции определяется типом параметра. Что-то вроде кода ниже:
function doSomething<T: any>(myParameter: T): { myProperty: T };
interface MyInterface<A> extends ReturnType<typeof doSomething<A>> {
newProperty1: boolean;
newProperty2: boolean;
}
Затем, когда я использую интерфейс, я хотел бы вывести тип параметра функции, например
let something: MyInterface<number>;
, что приведет к типу например
{
myProperty: number,
newProperty1: boolean,
newProperty2: boolean,
}
Как я могу этого добиться?