import "../styles/treeTileModel.css";
import { Viewer } from "cesium";
import { SceneManager } from "./sceneManager";
import { ContextMenu } from "./contextMenu";
export declare class LayerModel {
    viewer: Viewer;
    containerId: string;
    IdGenneral: string;
    modal: any;
    treeLayerModels: any[];
    contextMenu: ContextMenu | undefined;
    listKeyMapObject: Record<string, Partial<any>> | undefined;
    private _buttonsMap;
    private _buttonsMapHide;
    private isOpenModal;
    private _sceneManager;
    private _token;
    private dialog;
    private _primitiveNames;
    private _saveButtons;
    private onClosedCallback;
    constructor(containerId: string, viewer: any, token: string, sceneManager: SceneManager, contextMenu: ContextMenu);
    setClosedCallback(callback: (status: boolean) => void): void;
    notifyCallBack(status: boolean): void;
    _onScroll(): void;
    /**
   * Hàm khởi tạo popup modal
   */
    createModalTreeLayerModel: () => void;
    showHideModalTreeLayerModel: (show: boolean) => void;
    private handleCloseModal;
    private containerUl;
    private _idTreeView;
    containerDialog: HTMLElement | undefined;
    renderTreeLayerModel: () => HTMLElement;
    private clearContainer;
    private selectedItems;
    private lastSelectedItem;
    private selectedRow?;
    private createTreeItem;
    private _getAllChildrenFlat;
    /**
         * Xử lý sự kiện chọn mục
         */
    private handleItemSelection;
    private _reverseTree;
    handleItemDBSelection(event: MouseEvent, li: HTMLElement, currentItem: any): void;
    /**
       * Chọn hoặc bỏ chọn mục (Ctrl)
       */
    private toggleSelectItem;
    /**
        * Chọn một dải mục (Shift)
        */
    private selectRange;
    /**
     * Chọn một mục duy nhất
     */
    private selectSingleItem;
    private initKeyboardEvents;
    /**
     * Xử lý Ctrl+A để chọn tất cả
     */
    private handleSelectAll;
    /**
     * Tạo span chứa caret và màu
     */
    private createCaretSpan;
    /**
     * Tạo container cho mục con
     */
    private createNestedContainer;
    private _actionArrow;
    private _handleCallApiTree;
    /**
     * Tạo container cho các nút chức năng (ví dụ: tìm kiếm, xóa, chỉnh sửa)
     */
    private createButtonContainer;
    private _handleZoomTo;
    private _handleDisparityCoord;
    private _handleToggleVisible;
    private _handleShowOff;
    private _handleShowOffForParent;
    handleShowAllElement: () => void;
    private _updateChildButtons;
    private _handleIsolate;
    private _handleIsolateForParent;
    private _getItemsTreeByParentId;
    private _reverseTreeShow;
    private _computeGlobalMinMaxPoints;
    private computeBoundingBoxFromFeatureObjects;
    private _expandParent;
    handleHideElement: (objectOffs: any[]) => Promise<void>;
    private _calConditionForTree;
    private _normalizeSVGString;
    private _actionCheckCoditionContextMenu;
    private _actionShowAllBtn;
    private _getGuidList;
}
