I define an AbstractModel like so:
AbstractModel
export interface AbstractModel { [key: string]: any }
Then I declare the type Keys
Keys
I have faced similar problem. I resolved it by enforcing key to be string:
export type Keys = keyof AbstractModel & string;
Other option would be to convert key to string: test.toString().toLowercase()
test.toString().toLowercase()