When running the following TypeScript code:

```
type valueType = {[key: string]: number} | {[key: string]: {[date: string]: number}} | {[key: string]: string;}

const myData1: valueType = {
  "name": "Eduardo",
  "city": "Miami",
  "state": "FL",
  "age": 22,
  "progress": {"2018": 67, "2019": 76, "2020": 89}
}

```

TypeScript complains that the object is not assignable to the type `valueType` although I explicitly tell it can have different types inside the object. What would be the proper way of allowing multiple different types inside an object?

This is the warning I get:

```
Type '{ "name": string; "city": string; "state": string; "age": number; }' is not assignable to type 'valueType'.
  Type '{ "name": string; "city": string; "state": string; "age": number; }' is not assignable to type '{ [key: string]: string; }'.
    Property '"age"' is incompatible with index signature.
      Type 'number' is not assignable to type 'string'.

```

Thank you!