Comment faire des objets dynamiques dans TypeScript

Est-il possible de définir une dynamique de type d'objet dans la Machine?
Dans l'exemple suivant, je voudrais définir un type de "Mon Type Complexe" en disant:

Objets de type "Mon Type Complexe" sont des objets ayant "un certain nombre de propriétés", mais les valeurs de ces propriétés doivent être de type IValue.

//value interface
interface IValue {
    prop:string
}

//My Complex Type
myType = {
    field1:IValue
    field2:IValue
    .
    .
    .
    fieldN:IValue
}

//Using My Complex Type 

interface SomeType {
    prop:My Complex Type
}

source d'informationauteur gevik