import { DialogGeneral } from "../utils/Dialog/dialog";
import "../styles/treeTileModel.css";
import { TileModel } from "src/class/tileModel";
import { SceneManager } from "./sceneManager";
export declare class TreeTileModel {
    viewer: any;
    containerId: string;
    IdGenneral: string;
    modal: any;
    treeViews: TileModel[];
    _childrenTreeMap: Map<string, TileModel[]>;
    _itemTreeMap: Map<string, TileModel>;
    private _sceneManager;
    dialog: DialogGeneral | undefined;
    callBackSaveHiddenTreeViews?: (data: any) => void | undefined;
    private onClosedCallback;
    constructor(containerId: string, viewer: any, treeViews: TileModel[], _sceneManager: SceneManager);
    setClosedCallback(callback: (status: boolean) => void): void;
    notifyCallBack(status: boolean): void;
    triggerChange: (data: any) => void;
    /**
   * Hàm khởi tạo popup modal
   */
    createModalTreeFolder: () => void;
    private _isCalFooter;
    showHideModalTreeFolder: (show: boolean) => void;
    private handleCloseModal;
    private containerUl;
    private _idTreeView;
    renderTreeView: () => HTMLElement;
    private containerFooter;
    renderFooter: () => HTMLElement;
    handleOpenFormMoveModel: () => void;
    private clearContainer;
    private selectedItems;
    private lastSelectedItem;
    private selectedRow?;
    private createTreeItem;
    /**
         * 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;
    /**
     * 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 _handleToggleVisible;
    private _updateChildButtons;
    private _updateVisibilityFromParentID;
    getItemsTreeByParentId: (data: any, parentId: string) => any[];
    private _setParentShow;
    private _reverseTreeShow;
    private _filterHiddenExcludeFolderChildren;
    private hasValidInputObjs;
    private _syncInputObjsFromParent;
    private _setDefaultModel;
    private _updateLoadDefaultDot;
    clearAllLoadDefaultDot(): void;
    getTreeView: () => any;
    private _showDialog;
}
