import { ObjectAbstract } from '../../../common/object-abstract';
import { ModelerFencePolylineAtomType, ModelerFenceAtomType, ModelerFenceType, IGenerate } from '../../../common/interface/modeler-fence';
import { ObjectController } from '../../../common/object-controller';
/**
 * @public
 * @class ModelerFence
 * @extends ObjectController
 * @implements ObjectAbstract
 */
declare class ModelerFence extends ObjectController implements ObjectAbstract {
    className: string;
    private ModelerFencePolylineAtom;
    private ModelerFenceAtom;
    /**
     * @constructor
     * @param {ModelerFenceType} opt (optional)
     */
    constructor(opt?: ModelerFenceType);
    /**
     * @public
     * @function GetScheme
     * @returns {{ModelerFenceAtom: ModelerFenceAtomType, ModelerFencePolylineAtom: ModelerFencePolylineAtomType}}
     */
    GetScheme(): {
        ModelerFenceAtom: ModelerFenceAtomType;
        ModelerFencePolylineAtom: ModelerFencePolylineAtomType;
    };
    /**
     * @public
     * @function GetData
     * @returns {ModelerFenceType}
     */
    GetData(): ModelerFenceType;
    /**
     * @public
     * @function SetData
     * @param {ModelerFenceType} opt
     * @returns {void}
     */
    SetData(opt: ModelerFenceType): void;
    /**
     * @public
     * @function generateAtomData
     * @param {ModelerFenceType} opt
     * @returns {IGenerate}
     */
    generateAtomData(opt: ModelerFenceType): IGenerate;
    /**
     * @public
     * @function GetValidateRules
     * @returns {ModelerFenceType}
     */
    GetValidateRules(): ModelerFenceType;
    /**
     * @public
     * @function Validate
     * @param {ModelerFenceType} opt
     * @returns {void}
     */
    Validate(opt: ModelerFenceType): void;
}
export default ModelerFence;
