I have the following union:
type Letter = 'a' | 'b' | 'c' | 'd' | 'e'
I want to allow for permutations of 1-3 letters using a Template Literal Type:
type Variation = Letter | `${Letter}-${Letter}` | `${Letter}-${Letter}-${Letter}`
How can I achieve this in Typescript while preventing repeated letters, so "a" "b-d" "a-c-d" and "d-c-a" are ok but "a-a-c" is not allowed.