export interface Constructor { new (...args: any[]): T; } export type MixinFunc = (baseClass: TBase) => TBase & MCls; export type MixinType> = InstanceType>; export declare const mix: >(superclass?: T) => MixinBuilder; export declare function MixClasses(A1: Constructor, A2?: Constructor, A3?: Constructor, A4?: Constructor, A5?: Constructor, A6?: Constructor, A7?: Constructor): Constructor; declare class MixinBuilder { constructor(superclass: TBase); superclass: TBase; with(A1?: MixinFunc, A2?: MixinFunc, A3?: MixinFunc, A4?: MixinFunc, A5?: MixinFunc, A6?: MixinFunc, A7?: MixinFunc): (A1 & A2 & A3 & A4 & A5 & A6 & A7) & TBase; } export default mix;