import { EntityEidType, BasicInfoAtomType, IPointValueAtom, VisibleAtomType, EntityFlagAtomType, EntityOutlinerAtomType } from '../data-type';
/**
 * @interface HeatMapEntityAtomType
 * @param {string} type
 * @param {number} brushDiameter
 * @param {Array<number>} mappingValueRange
 * @param {Array<string>} gradientSetting
 */
export interface HeatMapEntityAtomType {
    type: string;
    brushDiameter: number;
    mappingHeightRange: Array<number>;
    mappingValueRange: Array<number>;
    gradientSetting: Array<string>;
}
/**
 * @interface HeatMapType
 * @extends EntityEidType,Partial<BasicInfoAtomType>,Partial<VisibleAtomType>,Partial<EntityFlagAtomType>
 * @param {Partial<HeatMapEntityAtomType>} heatMapStyle (optional)
 * @param {IPointValueAtom} points (optional)
 */
export interface HeatMapType extends EntityEidType, Partial<BasicInfoAtomType>, Partial<VisibleAtomType>, Partial<EntityFlagAtomType>, Partial<EntityOutlinerAtomType> {
    heatMapStyle?: Partial<HeatMapEntityAtomType>;
    points?: IPointValueAtom;
}
/**
 * @interface IGenerate
 * @param {Partial<HeatMapEntityAtomType>} HeatMapEntityAtom (optional)
 * @param {Partial<BasicInfoAtomType>} BasicInfoAtom (optional)
 * @param {Partial<IPointValueAtom>} PointValueAtom (optional)
 * @param {Partial<VisibleAtomType>} VisibleAtom (optional)
 * @param {Partial<EntityFlagAtomType>} EntityFlagAtom (optional)
 */
export interface IGenerate {
    HeatMapEntityAtom?: Partial<HeatMapEntityAtomType>;
    BasicInfoAtom?: Partial<BasicInfoAtomType>;
    PointValueAtom?: Partial<IPointValueAtom>;
    VisibleAtom?: Partial<VisibleAtomType>;
    EntityFlagAtom?: Partial<EntityFlagAtomType>;
    EntityOutlinerAtom?: Partial<EntityOutlinerAtomType>;
}
