import { FlattenPolygon } from "./FlattenPolygon";
export declare class FlattenPolygonTexture {
    _clearCommand: any;
    _clearPassState: any;
    _camera: CustomCamera;
    _passState: any;
    _colorTexture: any;
    _width: number;
    _height: number;
    _flattenedBound: Cesium.Cartesian4;
    _tilesets: any[];
    _flattenedPolygonDrawCommands: any[];
    _flattenedPolygons: FlattenPolygon[];
    framebuffer: any;
    _depthStencilTexture: any;
    _flattenedPolygonDirty: any;
    _autoElevationMatrixDirty: any;
    _scratchAutoElevationMatrix: any;
    _elevationMatrix: any;
    _autoElevationMatrix: any;
    _ellipsoid: Cesium.Ellipsoid;
    _viewport: Cesium.BoundingRectangle;
    _flattenedPolygonDirtyEvent: Cesium.Event;
    _enabled: any;
    constructor();
    get flattenedPolygons(): FlattenPolygon[];
    set flattenedPolygons(flattenedPolygons: FlattenPolygon[]);
    get enabled(): boolean;
    set enabled(value: boolean);
    /**
     * 绑定tileset
     * @param tileset
     */
    attachTileset(tileset: any): void;
    cleanflattenPolygon(): void;
    refreshFlattenedPolygons(): void;
    clear(): void;
    initTexture(flattenIndexTexture: FlattenPolygonTexture): void;
    initFrameBuffer(flattenIndexTexture: FlattenPolygonTexture): void;
    executeCommands(frameState: any): void;
    update(frameState: any): void;
    private _computeAutoElevationMatrix;
    private updateCommands;
    private getElevationMatrix;
    private updateFrustum;
}
declare class CustomCamera {
    viewMatrix: Cesium.Matrix4;
    inverseViewMatrix: Cesium.Matrix4;
    frustum: Cesium.OrthographicOffCenterFrustum;
    positionCartographic: Cesium.Cartographic;
    positionWC: Cesium.Cartesian3;
    directionWC: Cesium.Cartesian3;
    upWC: Cesium.Cartesian3;
    rightWC: Cesium.Cartesian3;
    viewProjectionMatrix: Cesium.Matrix4;
}
export {};
