import Overlay from "../Overlay";
import Position from "../../position/Position";
import { T_Position } from "../../common/type";
/**
 * 面
 * @noInheritDoc
 * @example
 * ```ts
 * let polygon = new BC.Polygon('120,20;120,30;122,30')
 * polygon.setStyle({
 *   height: 10,
 * })
 * ```
 */
declare class Polygon extends Overlay {
    private _positions;
    private _holes;
    /**
     *
     * @param positions 坐标串
     */
    constructor(positions: string | T_Position[]);
    get type(): any;
    set positions(positions: string | T_Position[]);
    get positions(): string | T_Position[];
    set holes(holes: T_Position[][]);
    get holes(): T_Position[][];
    get center(): Position;
    get area(): number;
    /**
     *
     * @private
     */
    private _computeHierarchy;
    _mountedHook(): void;
    /**
     * Sets text
     * @param text
     * @param textStyle
     * @returns {Polygon}
     */
    setLabel(text: string, textStyle: any): this;
    /**
     * 设置风格
     * @param style
     * @returns {Polygon}
     * @example
     * ```json
     * // 样式参数(可选)
     * {
     *   "height": 1, //高度
     *   "heightReference": 0, //高度参照，0：位置无参照，位置是绝对的，1：位置固定在地形上 2：位置高度是指地形上方的高度。
     *   "extrudedHeight": 0, //拉升高度
     *   "stRotation": 0, //旋转角度
     *   "fill": true, //是否用提供的材料填充多边形。
     *   "material": BC.Color.WHITE, //材质
     *   "outline": false, //是否显示边框
     *   "outlineColor": BC.Color.BLACK, //边框颜色
     *   "outlineWidth": 0, //边框宽度
     *   "closeTop": true, //顶面是否闭合
     *   "closeBottom": true, //底面是否闭合
     *   "shadows": 0, //阴影类型，0：禁用、1：启用 、2：投射、3：接受
     *   "distanceDisplayCondition": {
     *     "near": 0, //最近距离
     *     "far": Number.MAX_VALUE //最远距离
     *   }, //根据距离设置可见
     *   "classificationType": 2, //分类 是否影响地形，3D切片或同时影响这两者。0:地形、1:3D切片、2：两者
     *   "zIndex": 0 //层级
     * }
     * ```
     */
    setStyle(style: any): this;
    /**
     * 单独处理贴地行为，0:贴地形、1:贴3D切片、2：两者都贴、-1：都不贴
     * @param classificationType
     * @returns {Polygon}
     */
    dealClamp(classificationType: any): void;
    /**
     * Entity 转换为 Overlay
     * @param entity
     * @returns {Polygon}
     */
    static fromEntity(entity: Cesium.Entity): Polygon | undefined;
}
export default Polygon;
