
declare type Tween = TweenLite | TweenMax;

declare module "dijit/_BidiSupport" {
    
    static static  ( vertices:Array<Vector>,  angle:number,  point:Vector ):void;
    
    var exp: dijit._BidiSupport;
    static: number;
    static: number;
    
    extends: string;
    extends : string;
    extends  : string;

    export = exp;
    export =exp;

    interface: any;

    type Type = string; // 'all'|'directories'|'files'
    type Mask = string;

    function<T extends{(...args: any[]):any}>(target: T): IBinding;
    function<T extends {(...args: any[]):any}>(target: T): IBinding;

    /** Return a function that executes *fn* at most every *timeout* ms. */
    debounce<T extends (...args: any[]) => void>(timeout: number, fn: T, invokeAsap?: boolean, ctx?: any): T;
    
    // The type of the event.
    type :  string;
    type:  string;
    
    export import Perf = ReactPerf;
    
    typeof():string;
    
}

    class Disposable {
        constructor(disposalAction: any)
        dispose(): void;
    }

    interface I {
        /**
         * 
         */
        instanceof: number;
        /**
         * 
         */
        int: number;
        /**
         * 
         */
        interface: number;
    }    
    