TypeScript: is there a way to extends multiple interfaces and merge identical properties?