import { Basic } from '../common/basic';
import { ResultType } from '../common/data-type';
import StaticController from './model/static-controller';
import HierarchyController from './model/hierarchy-controller';
import SkeletalController from './model/skeletal-controller';
import VegetationController from './model/vegetation-controller';
import ModelerEmbankController from './model/modeler-embank-controller';
import ModelerWaterController from './model/modeler-water-controller';
import ModelerRiverController from './model/modeler-river-controller';
import ModelerFenceController from './model/modeler-fence-controller';
import ModelerFloorController from './model/modeler-floor-controller';
import ProjectModelController from './model/project-model-controller';
import ProjectInstanceController from './model/project-instance-controller';
import StaticInstanceController from './model/static-instance-controller';
/**
 * @public
 * @class ModelController
 * @extends Basic
 */
declare class ModelController extends Basic {
    private RequestEntity;
    Static: StaticController;
    Hierarchy: HierarchyController;
    Skeletal: SkeletalController;
    Vegetation: VegetationController;
    ModelerEmbank: ModelerEmbankController;
    ModelerWater: ModelerWaterController;
    ModelerRiver: ModelerRiverController;
    ModelerFence: ModelerFenceController;
    ModelerFloor: ModelerFloorController;
    ProjectModel: ProjectModelController;
    ProjectInstance: ProjectInstanceController;
    StaticInstance: StaticInstanceController;
    private ModelValidate;
    /**
     * @constructor
     * @param {any} obj
     */
    constructor(obj: any);
    /**
     * @public
     * @async
     * @function ClearByTypes
     * @param {Array<string>} types
     * @returns {Promise<ResultType>}
     */
    ClearByTypes(types: Array<string>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function Clear
     * @returns {Promise<ResultType>}
     */
    Clear(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function ClearCache
     * @returns {Promise<ResultType>}
     */
    ClearCache(): Promise<ResultType>;
}
export default ModelController;
