Geralmente esses enums nunca estão sozinhos, então eu gosto de fazer assim:
type AgentType = "client"|"supplier"|"employee"
e aí eu defino coisas relacionadas por exmeplo ao agent, e inclusive posso diferenciar por tipo de agente:
type AgentTypeConfig = {
label: string,
allowedIdentityTypes: IdentityType[]
requiredIdentityTypes: IdentityType[]
}
aí eu defino:
const AGENT_TYPES: Record<AgentType, AgentTypeConfig> = {
client: { label: "Consumidor Final", allowedIdentityTypes: ["CPF"], requiredIdentityTypes: ["CPF"] }
// ...
}
Aí no codigo se eu precisar extrair a lista de AGENT_TYPES disponiveis, eu faço Object.keys(AGENT_TYPES) por exemplo (se for recorrente, ja deixo uma constante para isso no proprio arquivo que defino AGENT_TYPES.