import { ObjectAbstract } from '../../../common/object-abstract';
import { IProjectModel, IProjectModelTransformAtom, IProjectModelAtom, IGenerate } from '../../../common/interface/project-model';
import { ObjectCore } from '../../../common/object-core';
/**
 * @public
 * @class ProjectModel
 * @extends ObjectCore
 * @implements ObjectAbstract
 */
declare class ProjectModel extends ObjectCore implements ObjectAbstract {
    className: string;
    private ProjectModelAtom;
    private ProjectModelTransformAtom;
    /**
     * @constructor
     * @param {IProjectModel} opt (optional)
     */
    constructor(opt?: IProjectModel);
    /**
     * @public
     * @function GetScheme
     * @returns {{ProjectModelAtom: IProjectModelAtom, ProjectModelTransformAtom: IProjectModelTransformAtom}}
     */
    GetScheme(): {
        ProjectModelAtom: IProjectModelAtom;
        ProjectModelTransformAtom: IProjectModelTransformAtom;
    };
    /**
     * @public
     * @function GetData
     * @returns {IProjectModel}
     */
    GetData(): IProjectModel;
    /**
     * @public
     * @function SetData
     * @param {IProjectModel} opt
     * @returns {void}
     */
    SetData(opt: IProjectModel): void;
    /**
     * @public
     * @function generateAtomData
     * @param {IProjectModel} opt
     * @returns {IGenerate}
     */
    generateAtomData(opt: IProjectModel): IGenerate;
    /**
     * @public
     * @function GetValidateRules
     * @returns {IProjectModel}
     */
    GetValidateRules(): IProjectModel;
    /**
     * @public
     * @function Validate
     * @param {IProjectModel} opt
     * @returns {void}
     */
    Validate(opt: IProjectModel): void;
}
export default ProjectModel;
