export interface ActiveEntity {
    lineHypotenuse?: any;
    lineVertical?: any;
    lineHorizontal?: any;
    labelHypotenuse?: any;
    labelVertical?: any;
    labelHorizontal?: any;
    startDot?: any;
    endDot?: any;
    thirdDot?: any;
    labelEndPoint?: any;
}
export declare class MeasureCesium {
    viewer: any;
    private handler;
    containerId: string;
    private _fileTest;
    private _states;
    constructor(containerId: string, viewer: any);
    private _customShader;
    activeShapePoints: any;
    activeShape: any;
    floatingPoint: any;
    currentPointClick: any;
    activeEntities: {
        [entityIdBase: string]: ActiveEntity;
    };
    currentLabelDim: any;
    isClickListenerMouseEnabled: any;
    pointXMark: any;
    private _planeEntity;
    /**
     * Hàm khởi tạo Dim
     */
    dimensionCesium: () => void;
    private _isDrawingDim;
    isMultiDim: boolean;
    private _objTempDim;
    private _idTempDim;
    private _idMultiDim;
    private _countMultiDim;
    /**
     *
     *
     * Sự kiện hủy khi ấn chuột phải
     */
    private terminateDim;
    private _totalMutilDim;
    private _labelEndPoint;
    /**
     * Sau kết thúc DIM vẽ lần lượt lại DIM để gán được các ID
     * @param {[]} activeShapePoints list point để vẽ lại đường Line khi hoàn thành
     */
    private createMultiDimensionObjects;
    /**
     * Hàm tạo các point line labe cho đường DIM tổng thể
     *  @param {any} startPoint  //Điểm bắt đầu
     *  @param {any} endPoint  //Điểm kết thúc
     *  @param {any} entityIdBase //ID point
     *  @param {boolean} disableDepthEndPoint //Point có bám trên vật
     */
    private createDimensionObjects;
    /**
     * Hàm tạo point cho Dim
     *  @param {any} worldPosition  //Tọa độ
     *  @param {any} inputId  //ID point
     *  @param {boolean} clamGound //có được bám trên đất
     *  @param {boolean} disableDepth //Point có bám trên vật
     */
    private createPointDim;
    /**
     * Hàm tạo point cho Dim
     *  @param {any} worldPosition  //Tọa độ
     *  @param {any} inputId  //ID point
     *  @param {boolean} clamGound //có được bám trên đất
     *  @param {boolean} disableDepth //Point có bám trên vật
     */
    private createLabelForPoint;
    /**
     * Tạo đường Line Dim từ Primitive
     *  @param {any} startPoint  //Điểm bắt đầu
     *  @param {any} endPoint  //Điểm kết thúc
     *  @param {any} entityIdBase //ID point
     *  @param {any} color //màu
     */
    private createPolylinePrimitive;
    private createLabelForDimension;
    handleDocumentEvents: (event: any) => void;
    removeDimCesium: () => void;
    private removeAllEvents;
    private deleteEntityByPrefix;
    removeAllDimensionCesium: () => void;
    showHideAllDimensionCesium: (showEntity: boolean) => void;
    private showHideDimension;
    refreshAllAction: () => void;
}
