import { ObjectAbstract } from '../../../common/object-abstract';
import { IPolygon2DAtom } from '../../../common/data-type';
import { HighlightAreaType, HighlightAreaEntityAtomType, IGenerate } from '../../../common/interface/highlightarea';
import { ObjectCommon } from '../../../common/object-common';
/**
 * @public
 * @class HighlightArea
 * @extends ObjectCommon
 * @implements ObjectAbstract
 */
declare class HighlightArea extends ObjectCommon implements ObjectAbstract {
    className: string;
    private HighlightAreaEntityAtom;
    private Polygon2DAtom;
    /**
     * @constructor
     * @param {HighlightAreaType} opt (optional)
     */
    constructor(opt?: HighlightAreaType);
    /**
     * @public
     * @function GetScheme
     * @returns {{HighlightAreaEntityAtom: HighlightAreaEntityAtomType, Polygon2DAtom: IPolygon2DAtom}}
     */
    GetScheme(): {
        HighlightAreaEntityAtom: HighlightAreaEntityAtomType;
        Polygon2DAtom: IPolygon2DAtom;
    };
    /**
     * @public
     * @function GetData
     * @returns {HighlightAreaType}
     */
    GetData(): HighlightAreaType;
    /**
     * @public
     * @function SetData
     * @param {HighlightAreaType} opt
     * @returns {void}
     */
    SetData(opt: HighlightAreaType): void;
    /**
     * @public
     * @function generateAtomData
     * @param {HighlightAreaType} opt
     * @returns {IGenerate}
     */
    generateAtomData(opt: HighlightAreaType): IGenerate;
    /**
     * @public
     * @function GetValidateRules
     * @returns {HighlightAreaType}
     */
    GetValidateRules(): HighlightAreaType;
    /**
     * @public
     * @function Validate
     * @param {HighlightAreaType} opt
     * @returns {void}
     */
    Validate(opt: HighlightAreaType): void;
}
export default HighlightArea;
