import { ResultType } from '../common/data-type';
import { AtomController } from '../common/atom-controller';
/**
 * @public
 * @class ProjectController
 * @extends AtomController
 */
declare class ProjectController extends AtomController {
    private apiClassName;
    private TilesValidate;
    /**
     * @constructor
     * @param {any} obj
     */
    constructor(obj: any);
    /**
       * @public
       * @async
       * @function SetNodesOutline
       * @param {{project?: any, nodeIds?: Array<string>, bOutline?: boolean, styleName?: string}} opt
       * @returns {Promise<ResultType>}
       */
    SetNodesOutline(opt: {
        project?: any;
        nodeIds?: Array<string>;
        bOutline?: boolean;
        styleName?: string;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetNodesHighlight
     * @param {{project?: any, nodeIds?: Array<string>, bHighlight?: boolean, styleName?: string}} opt
     * @returns {Promise<ResultType>}
     */
    SetNodesHighlight(opt: {
        project?: any;
        nodeIds?: Array<string>;
        bHighlight?: boolean;
        styleName?: string;
    }): Promise<ResultType>;
    /**
       * @public
       * @async
       * @function SetNodesVisibility
       * @param {{nodeIds?: Array<string>, bVisible?: boolean, project: any}} opt
       * @returns {Promise<ResultType>}
       */
    SetNodesVisibility(opt: {
        nodeIds?: Array<string>;
        bVisible?: boolean;
        project?: any;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetProject
     * @returns {Promise<Array<T>>}
     */
    GetProject<T>(): Promise<Array<T>>;
}
export default ProjectController;
