type LiteralKey<T> = { [K in keyof T]: string extends K ? never : K; }[keyof T] & string
extracts only the Literal string keys (not index signatures) from an object/interface
extracts only the Literal string keys (not index signatures) from an object/interface