import { FlattenPolygon } from "./FlattenPolygon";
import { FlattenPolygonTexture } from "./FlattenPolygonTexture";
/**
 * 压平面集合
 */
export declare class FlattenPolygonCollection {
    private _enabled;
    private _polygons;
    private _dirtyIndex;
    private _multipleDirtyPlanes;
    private _flattenData;
    private _flattenPolygonTexture;
    constructor();
    /**
     * 是否启用
     */
    get enabled(): boolean;
    set enabled(value: boolean);
    /**
     * 压平面集合
     */
    get polygons(): FlattenPolygon[];
    /**
     * 当前集合中包含的压平面数量
     */
    get length(): number;
    get flattenPolygonTexture(): FlattenPolygonTexture;
    /**
     * 获取启用的压平面数量
     */
    get enableLength(): number;
    get flattenData(): any;
    get needUpdate(): boolean;
    /**
     * 添加压平面
     */
    add(polygon: FlattenPolygon): void;
    /**
     * 根据索引获取压平面
     * @param index
     * @returns
     */
    get(index: number): FlattenPolygon;
    /**
     * 获取压平面索引
     * @param polygon
     * @returns
     */
    indexOf(polygon: FlattenPolygon): number;
    contains(flattenPolygon: FlattenPolygon): boolean;
    /**
     * 删除压平
     * @param flatten
     */
    remove(flattenPolygon: FlattenPolygon): boolean;
    /**
     * 移除所有压平面
     */
    removeAll(): void;
}
