import { ObjectAbstract } from '../../../common/object-abstract';
import { ResultType, IPointValueAtom, ICoordinates, CoordType, Coord2DType } from '../../../common/data-type';
import { ColumnarHeatMapType, ColumnarHeatMapEntityAtomType, IGenerate } from '../../../common/interface/columnarheatmap';
import { ObjectCommon } from '../../../common/object-common';
/**
 * @public
 * @class ColumnarHeatMap
 * @extends ObjectCommon
 * @implements ObjectAbstract
 */
declare class ColumnarHeatMap extends ObjectCommon implements ObjectAbstract {
    className: string;
    private apiClassName;
    private ColumnarHeatMapEntityAtom;
    private PointValueAtom;
    /**
     * @constructor
     * @param {ColumnarHeatMapType} opt (optional)
     */
    constructor(opt?: ColumnarHeatMapType);
    /**
     * @public
     * @function GetScheme
     * @returns {{ColumnarHeatMapEntityAtom: ColumnarHeatMapEntityAtomType, PointValueAtom: IPointValueAtom}}
     */
    GetScheme(): {
        ColumnarHeatMapEntityAtom: ColumnarHeatMapEntityAtomType;
        PointValueAtom: IPointValueAtom;
    };
    /**
     * @public
     * @function GetData
     * @returns {ColumnarHeatMapType}
     */
    GetData(): ColumnarHeatMapType;
    /**
     * @public
     * @function SetData
     * @param {ColumnarHeatMapType} opt
     * @returns {void}
     */
    SetData(opt: ColumnarHeatMapType): void;
    /**
     * @public
     * @function generateAtomData
     * @param {ColumnarHeatMapType} opt
     * @returns {IGenerate}
     */
    generateAtomData(opt: ColumnarHeatMapType): 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 {ColumnarHeatMapType}
     */
    GetValidateRules(): ColumnarHeatMapType;
    /**
     * @public
     * @function Validate
     * @param {ColumnarHeatMapType} opt
     * @returns {void}
     */
    Validate(opt: ColumnarHeatMapType): void;
}
export default ColumnarHeatMap;
