export declare type Constructor = new (...args: any[]) => T; export declare type Mixin = Constructor | object; /** * Takes a list of classes or object literals and adds their methods * to the class calling it. */ export declare function use(...options: Mixin[]): (target: any, propertyKey: string) => void; /** * Takes a method as a parameter and add it to the class calling it. */ export declare function delegate(method: (...args: any[]) => any): (target: any, propertyKey: string) => void;