// Normally it is an error to have multiple overloads with identical signatures in a single type declaration. // Here the multiple overloads come from multiple bases. interface Base { (x: number): string; } interface I extends Base, Base { } interface I2 extends Base, Base { }