import '../styles/ultils.css';
import '../styles/markupCanvas.css';
export declare class MarkupCanvas {
    viewer: any;
    containerId: string;
    private _IdGenneral;
    modal: any;
    private dialog;
    private onClosedCallback;
    private konvaStage;
    private konvaLayer;
    private billboard;
    private canvas;
    private _markupArrow;
    private _listBtnIdMarkup;
    constructor(containerId: string, viewer: any);
    setClosedCallback(callback: (status: boolean) => void): void;
    notifyCallBack(status: boolean): void;
    createModalNote: () => void;
    /**
   * Hàm khởi tạo popup modal
   */
    private isCreated;
    showHideModalNoteCanvas: (show: boolean) => void;
    private handleCloseModal;
    private containerDiv;
    private _renderMarkupData;
    private clearContainer;
    private _handleActionMarkup;
    private _idContainerMarkup;
    private _createCanvasMarkup;
    private _markupArrowAction;
    captureAndDownload: () => void;
    captureCesiumCanvas: () => void;
    lockCesiumView: () => void;
    private _oldWidth;
    private _resizeTimeout;
    private _updateArrowPositionsCalled;
    private savedCameraState;
    saveCameraState: () => Promise<void>;
    getLookAt: () => void;
    restoreView: () => void;
    unlockCesiumView: () => void;
    private _rectangleView;
    calculateFOV: (distance: number, width: number, height: number) => {
        fovX: number;
        fovY: number;
    };
    calculateDistanceFromFOV: (fov: number, width: number) => number;
    private _setActiveButton;
    private _listArrows;
    private _updateArrowPositions;
    private _jsonMarkup;
    private _saveJson;
    private _markupLoadJson;
    private _loadJsonFromFile;
    private _actionLoadMarkup;
}
