import { ObjectAbstract } from '../../../common/object-abstract';
import { ResultType, IPointValueAtom, ICoordinates, CoordType, Coord2DType } from '../../../common/data-type';
import { HeatMapType, HeatMapEntityAtomType, IGenerate } from '../../../common/interface/heatmap';
import { ObjectCommon } from '../../../common/object-common';
/**
 * @public
 * @class HeatMap
 * @extends ObjectCommon
 * @implements ObjectAbstract
 */
declare class HeatMap extends ObjectCommon implements ObjectAbstract {
    className: string;
    private apiClassName;
    private HeatMapEntityAtom;
    private PointValueAtom;
    /**
     * @constructor
     * @param {HeatMapType} opt (optional)
     */
    constructor(opt?: HeatMapType);
    /**
     * @public
     * @function GetScheme
     * @returns {{HeatMapEntityAtom: HeatMapEntityAtomType, PointValueAtom: IPointValueAtom}}
     */
    GetScheme(): {
        HeatMapEntityAtom: HeatMapEntityAtomType;
        PointValueAtom: IPointValueAtom;
    };
    /**
     * @public
     * @function GetData
     * @returns {HeatMapType}
     */
    GetData(): HeatMapType;
    /**
     * @public
     * @function SetData
     * @param {HeatMapType} opt
     * @returns {void}
     */
    SetData(opt: HeatMapType): void;
    /**
     * @public
     * @function generateAtomData
     * @param {HeatMapType} opt
     * @returns {IGenerate}
     */
    generateAtomData(opt: HeatMapType): IGenerate;
    /**
     * @public
     * @async
     * @function Clip
     * @param {ICoordinates} polygon
     * @param {string} color (default value is 'aaff00ff'. Ex. Hexa)
     * @returns {Promise<ResultType>}
     */
    Clip(polygon: ICoordinates, color?: string): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function UnClip
     * @returns {Promise<ResultType>}
     */
    UnClip(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function Modify
     * @param {{method?: string, index?: Array<number>, features: Array<any>}} opt
     * @returns {Promise<ResultType>}
     */
    Modify(opt: {
        method?: string;
        index?: Array<number>;
        features: Array<any>;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GetHeatValue
     * @param {CoordType} location
     * @returns {Promise<ResultType>}
     */
    GetHeatValue(location: CoordType): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function Filter
     * @param {Coord2DType} filterValueRange
     * @returns {Promise<ResultType>}
     */
    Filter(filterValueRange: Coord2DType): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function UnFilter
     * @returns {Promise<ResultType>}
     */
    UnFilter(): Promise<ResultType>;
    /**
     * @public
     * @function GetValidateRules
     * @returns {HeatMapType}
     */
    GetValidateRules(): HeatMapType;
    /**
     * @public
     * @function Validate
     * @param {HeatMapType} opt
     * @returns {void}
     */
    Validate(opt: HeatMapType): void;
}
export default HeatMap;
