import { EntityEidType, BasicInfoAtomType, IPolygon2DAtom, VisibleAtomType, EntityFlagAtomType, EntityOutlinerAtomType } from '../data-type';
/**
 * @interface HighlightAreaEntityAtomType
 * @param {string} interiorColor
 * @param {string} exteriorColor
 * @param {string} exteriorOutlineColor
 * @param {number} exteriorSaturation
 * @param {number} exteriorBrightness
 * @param {number} exteriorContrast
 * @param {boolean} bFeathering
 */
export interface HighlightAreaEntityAtomType {
    interiorColor: string;
    exteriorColor: string;
    exteriorOutlineColor: string;
    exteriorSaturation: number;
    exteriorBrightness: number;
    exteriorContrast: number;
    bFeathering: boolean;
    customColors: {
        [key: string]: string;
    };
}
/**
 * @interface HighlightAreaType
 * @extends EntityEidType,Partial<BasicInfoAtomType>,Partial<VisibleAtomType>,Partial<EntityFlagAtomType>
 * @param {Partial<HighlightAreaEntityAtomType>} highlightAreaStyle (optional)
 * @param {Partial<IPolygon2DAtom>} polygon2D (optional)
 */
export interface HighlightAreaType extends EntityEidType, Partial<BasicInfoAtomType>, Partial<VisibleAtomType>, Partial<EntityFlagAtomType>, Partial<EntityOutlinerAtomType> {
    highlightAreaStyle?: Partial<HighlightAreaEntityAtomType>;
    polygon2D?: Partial<IPolygon2DAtom>;
}
/**
 * @interface IGenerate
 * @param {Partial<HighlightAreaEntityAtomType>} HighlightAreaEntityAtom (optional)
 * @param {Partial<BasicInfoAtomType>} BasicInfoAtom (optional)
 * @param {Partial<IPolygon2DAtom>} Polygon2DAtom (optional)
 * @param {Partial<VisibleAtomType>} VisibleAtom (optional)
 * @param {Partial<EntityFlagAtomType>} EntityFlagAtom (optional)
 */
export interface IGenerate {
    HighlightAreaEntityAtom?: Partial<HighlightAreaEntityAtomType>;
    BasicInfoAtom?: Partial<BasicInfoAtomType>;
    Polygon2DAtom?: Partial<IPolygon2DAtom>;
    VisibleAtom?: Partial<VisibleAtomType>;
    EntityFlagAtom?: Partial<EntityFlagAtomType>;
    EntityOutlinerAtom?: Partial<EntityOutlinerAtomType>;
}
