import { IAppKeys } from './decorators/app';
import { Model } from './models';
import { GypsumEmitter } from './emitter';
import { Logger } from './misc/logger';
import { IHook } from './decorators';
export declare class App {
    private _models;
    private _hooksData;
    emitter: GypsumEmitter;
    name: string;
    $logger: Logger;
    constructor();
    private _init();
    private _mArrangeHooks();
    private _mArrangeJobs();
    readonly publicModels: Model[];
    $get(prop: IAppKeys): any;
    $getModel(name: string): Model;
    $hasModel(name: string): boolean;
    $getHooks(): {
        [key: string]: IHook;
    };
    $getHook(name: string): IHook;
    $getApis(): {
        name: string;
        apiType: any;
        namespaces: any;
        models: any[];
    };
    $getMap(): string[];
}
