import { ObjectAbstract } from '../../../common/object-abstract';
import { ModelerWaterPolygonAtomType, ModelerWaterAtomType, ModelerWaterType, IGenerate } from '../../../common/interface/modeler-water';
import { ObjectController } from '../../../common/object-controller';
/**
 * @public
 * @class ModelerWater
 * @extends ObjectController
 * @implements ObjectAbstract
 */
declare class ModelerWater extends ObjectController implements ObjectAbstract {
    className: string;
    private ModelerWaterPolygonAtom;
    private ModelerWaterAtom;
    /**
     * @constructor
     * @param {ModelerWaterType} opt (optional)
     */
    constructor(opt?: ModelerWaterType);
    /**
     * @public
     * @function GetScheme
     * @returns {{ModelerWaterAtom: ModelerWaterAtomType, ModelerWaterPolygonAtom: ModelerWaterPolygonAtomType}}
     */
    GetScheme(): {
        ModelerWaterAtom: ModelerWaterAtomType;
        ModelerWaterPolygonAtom: ModelerWaterPolygonAtomType;
    };
    /**
     * @public
     * @function GetData
     * @returns {ModelerWaterType}
     */
    GetData(): ModelerWaterType;
    /**
     * @public
     * @function SetData
     * @param {ModelerWaterType} opt
     * @returns {void}
     */
    SetData(opt: ModelerWaterType): void;
    /**
     * @public
     * @function generateAtomData
     * @param {ModelerWaterType} opt
     * @returns {IGenerate}
     */
    generateAtomData(opt: ModelerWaterType): IGenerate;
    /**
     * @public
     * @function GetValidateRules
     * @returns {ModelerWaterType}
     */
    GetValidateRules(): ModelerWaterType;
    /**
     * @public
     * @function Validate
     * @param {ModelerWaterType} opt
     * @returns {void}
     */
    Validate(opt: ModelerWaterType): void;
}
export default ModelerWater;
