Cómo establecer una cadena específica en una interfaz de TypeScript (tipo literal)
¡Hola a todos! Acabo de empezar a aprender TypeScript y me encontré con un problema. Necesito crear una interfaz para un objeto que tiene un campo `status`. Este campo debe aceptar valores estrictamente definidos, por ejemplo: `"active"`, `"inactive"` o `"pending"`. Si se intenta asignar cualquier otra cadena, debería producirse un error de compilación.
Probé hacerlo así:
```typescript
interface UserStatus {
status: string;
}
```
Pero esto no sirve, porque `string` permite cualquier cadena. Quiero que TS verifique que el valor del campo `status` sea una de las tres cadenas posibles.
Intenté usar `enum`, pero me dijeron que se puede hacer más simple — con tipos literales. ¿Cómo describir correctamente esa interfaz? ¿Y se puede hacer que el IDE sugiera las opciones posibles al escribir?
Ejemplo de lo que quiero:
```typescript
const user1: User = { status: "active" }; // Ok
const user2: User = { status: "deleted" }; // ¡Error!
```
Por favor, indíquenme cómo implementar esto.