export interface Constructor extends Function { new (...args: any[]): T; } export declare type Mixin = BASE & MIXIN; /** * Type-less mixin */ export declare function MixinFree(base: any, mixin: any, extend?: 'class' | 'proto' | 'both'): any; export declare function Mixin(base: CBASE & Constructor, m1: C1 & Constructor): Constructor & CBASE & C1; export declare function Mixin(base: CBASE & Constructor, m1: C1 & Constructor, m2: C2 & Constructor): Constructor & CBASE & C1 & C2; export declare function Mixin(base: CBASE & Constructor, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor): Constructor & CBASE & C1 & C2 & C3; export declare function Mixin(base: CBASE & Constructor, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor, m4: C4 & Constructor): Constructor & CBASE & C1 & C2 & C3 & C4; export declare function Mixin(base: CBASE & Constructor, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor, m4: C4 & Constructor, m5: C5 & Constructor): Constructor & CBASE & C1 & C2 & C3 & C4 & C5; export declare function Mixin(base: CBASE & Constructor, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor, m4: C4 & Constructor, m5: C5 & Constructor, m6: C6 & Constructor): Constructor & CBASE & C1 & C2 & C3 & C4 & C5 & C6; export declare function Mixin(base: CBASE & Constructor, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor, m4: C4 & Constructor, m5: C5 & Constructor, m6: C6 & Constructor, m7: C7 & Constructor): Constructor & CBASE & C1 & C2 & C3 & C4 & C5 & C6 & C7; export declare function MixinExt(base: CBASE & Constructor, extraStatic: SMIXIN, m1: C1 & Constructor): Constructor & SMIXIN & CBASE & C1; export declare function MixinExt(base: CBASE & Constructor, extraStatic: SMIXIN, m1: C1 & Constructor, m2: C2 & Constructor): Constructor & SMIXIN & CBASE & C1 & C2; export declare function MixinExt(base: CBASE & Constructor, extraStatic: SMIXIN, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor): Constructor & SMIXIN & CBASE & C1 & C2 & C3; export declare function MixinExt(base: CBASE & Constructor, extraStatic: SMIXIN, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor, m4: C4 & Constructor): Constructor & SMIXIN & CBASE & C1 & C2 & C3 & C4; export declare function MixinExt(base: CBASE & Constructor, extraStatic: SMIXIN, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor, m4: C4 & Constructor, m5: C5 & Constructor): Constructor & SMIXIN & CBASE & C1 & C2 & C3 & C4 & C5; export declare function MixinExt(base: CBASE & Constructor, extraStatic: SMIXIN, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor, m4: C4 & Constructor, m5: C5 & Constructor, m6: C6 & Constructor): Constructor & SMIXIN & CBASE & C1 & C2 & C3 & C4 & C5 & C6; export declare function MixinExt(base: CBASE & Constructor, extraStatic: SMIXIN, m1: C1 & Constructor, m2: C2 & Constructor, m3: C3 & Constructor, m4: C4 & Constructor, m5: C5 & Constructor, m6: C6 & Constructor, m7: C7 & Constructor): Constructor & SMIXIN & CBASE & C1 & C2 & C3 & C4 & C5 & C6 & C7;