interface Style { flashy: any; } declare function mergeStyleSets( ...cssSets: { [P in K]?: Style }[]): { [P in K]: Style }; // Expected: // let x: { // a: Style; // b: Style; // } let x = mergeStyleSets( {}, { a: { flashy: true }, }, { b: { flashy: true }, }, )