/**
 * Mixes a class with other classes.
 * @param args The classes to mix.
 * @returns The mixed class.
 */
export declare function Mixin<T, C extends TypeClass[]>(...args: C): C[number] & T;
export type TypeClass<InstanceType = object, StaticType = object> = (abstract new (...args: any[]) => InstanceType) & StaticType;
export declare const mix: (...ingredients: TypeClass[]) => (decoratedClass: any) => any;
