import { ObjectAbstract } from '../../../common/object-abstract';
import { ModelerEmbankPolylineAtomType, ModelerEmbankAtomType, ModelerEmbankType, IGenerate } from '../../../common/interface/modeler-embank';
import { ObjectController } from '../../../common/object-controller';
/**
 * @public
 * @class ModelerEmbank
 * @extends ObjectController
 * @implements ObjectAbstract
 */
declare class ModelerEmbank extends ObjectController implements ObjectAbstract {
    className: string;
    private ModelerEmbankPolylineAtom;
    private ModelerEmbankAtom;
    /**
     * @constructor
     * @param {ModelerEmbankType} opt (optional)
     */
    constructor(opt?: ModelerEmbankType);
    /**
     * @public
     * @function GetScheme
     * @returns {{ModelerEmbankAtom: ModelerEmbankAtomType, ModelerEmbankPolylineAtom: ModelerEmbankPolylineAtomType}}
     */
    GetScheme(): {
        ModelerEmbankAtom: ModelerEmbankAtomType;
        ModelerEmbankPolylineAtom: ModelerEmbankPolylineAtomType;
    };
    /**
     * @public
     * @function GetData
     * @returns {ModelerEmbankType}
     */
    GetData(): ModelerEmbankType;
    /**
     * @public
     * @function SetData
     * @param {ModelerEmbankType} opt
     * @returns {void}
     */
    SetData(opt: ModelerEmbankType): void;
    /**
     * @public
     * @function generateAtomData
     * @param {ModelerEmbankType} opt
     * @returns {IGenerate}
     */
    generateAtomData(opt: ModelerEmbankType): IGenerate;
    /**
     * @public
     * @function GetValidateRules
     * @returns {ModelerEmbankType}
     */
    GetValidateRules(): ModelerEmbankType;
    /**
     * @public
     * @function Validate
     * @param {ModelerEmbankType} opt
     * @returns {void}
     */
    Validate(opt: ModelerEmbankType): void;
}
export default ModelerEmbank;
