'Typescript tuple to object type

Suppose I have a tuple type like this:

type Test<T extends string, V> = { type: T, value: V };
type Tuple = [
    Test<'string', string>, 
    Test<'number', number>, 
    Test<'integer', number>
];

From the type Tuple I would like to generate the type

type TupleObject = {
    string: string,
    number: number,
    integer: number,
};

Is this at all possible and if so, how? So far I have only managed to get

type TupleObject = {
    string: string | number,
    number: string | number,
    integer: string | number,
};


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source