En TypeScript 4.1 y versiones mas recientes, es posible remapear las propiedades en tipos utilizando la clausula as
dentro de un mapped type.
type Etiqueta = {
id: number;
cantidad: number;
};
type Remapear<T> = {
[K in keyof T as `mi${Capitalize<string & K>}`]: T[K];
};
type Remapeado = Remapear<Etiqueta>;
const miEtiqueta: Remapeado = {
miCantidad: 100,
miId: 12122,
};