Literals<T>:Extract<{ [K in keyof T]: string extends K ? never : number extends K ? never : K } extends { [_ in keyof T]: infer U } ? U : never, string>
Extracts literally defined property names from a type T as a union of key name strings, minus
any index signatures.
Extracts literally defined property names from a type
T
as a union of key name strings, minus any index signatures.