interface SomeInterface {
'@prop1': string;
'@prop2': string;
'@propN': string;
}
const asSomeInterface = <K extends PropertyKey>(obj: { [P in K]: P extends `@${string}` ? string : never }) => obj;
asSomeInterface({
'@asd': 'asd',
'asd': 'asd', // error
});