type HEROES_KEYS = | "ana" | "ashe" | "baptiste" | "bastion" | "brigitte" | "cassidy" | "dva" | "doomfist" | "echo" | "genji" | "hanzo" | "junker-queen" | "junkrat" | "kiriko" | "lucio" | "mei" | "mercy" | "moira" | "orisa" | "pharah" | "ramattra" | "reaper" | "reinhardt" | "roadhog" | "sigma" | "sojourn" | "soldier-76" | "sombra" | "symmetra" | "torbjorn" | "tracer" | "widowmaker" | "winston" | "wrecking-ball" | "zarya" | "zenyatta"; type NEW_HEROES_KEYS = T extends HEROES_KEYS ? HEROES_KEYS : T | HEROES_KEYS; function fn(key: NEW_HEROES_KEYS) { console.log(key); } // fn('')