/// <reference types="simpleitjs/dist/module" />
/// <reference types="simpleitjs/dist/ajax" />
declare let ModuleClass: typeof Module;
declare var require: (...args: any[]) => any;
declare let id: number;
declare const generateNxtId: () => number;
declare class UIModel {
    _id: number;
}
declare class UIModuleOpts extends ModuleScope {
    name?: string;
    templateHTML?: string;
    templateURL?: string;
    templateSelector?: string;
    model?: UIModel;
    constructor(config?: UIModuleOpts);
}
declare class SuperUI extends UIModuleOpts {
    Ajax?: Ajax;
    constructor(config?: UIModuleOpts);
    static invoke(model: SuperUI, ...dependencies: any[]): SuperUI;
}
declare class UIModule extends ModuleClass {
    constructor(name: string, opts: UIModuleOpts, ...dependencies: any[]);
}
declare var module: any;
