Solutions de contournement de l'héritage de types multiples?

Je suis en train de découvrir un modèle pour combiner plusieurs interfaces dans une classe abstraite. Actuellement, je peux combiner plusieurs interfaces via "met en œuvre", mais une interface ne peut pas déclarer un constructeur. Quand je dois introduire un constructeur, je suis obligé d'utiliser une classe abstraite. Lorsque j'utilise une classe abstraite, je dois re-déclarer la totalité de l'interface composite! Certes, je suis en manque de quelque chose?

interface ILayerInfo {
    a: string;
}

interface ILayerStatic {
    b(): string;
}

class Layer implements ILayerInfo, ILayerStatic {
    constructor(info: ILayerInfo);
    a: string;
    b(): string;
}

RÉPONSE: l'utilisation de "nouvelles":

interface Layer extends ILayerInfo, ILayerStatic {
    new(info: ILayerInfo);
}

//usage: new Layer({ a: "" });

source d'informationauteur Corey Alix