import { Viewer } from "cesium";
export declare class FlyLocation {
    viewer: Viewer;
    containerId: string;
    treeView: any;
    constructor(containerId: string, viewer: any, treeTileModel?: any);
    pointCurrentLocationWeb: any;
    private _locationPickPinEntity;
    private _pickPinHandler;
    private _pickCallback;
    /**
     * Hàm xử lý hành động bay đến vị trí hiện tại
     */
    flyToCurrentLocation: () => Promise<unknown>;
    private _isSetLocationHome;
    longitudeHomeLocation: number;
    latitudeHomeLocation: number;
    heightHomeLocation: number;
    angleHomeLocation: number;
    pitchHomeLocation: number;
    durationHomeLocation: number;
    /**
     * Thiết lập vị trí home với các tham số được chỉ định.
     *
     * @param location - Một đối tượng chứa thông tin chi tiết về vị trí.
     * @param location.longitude - Kinh độ của vị trí home.
     * @param location.latitude - Vĩ độ của vị trí home.
     * @param location.height - Độ cao của vị trí nhà (tùy chọn, mặc định là 1000).
     * @param location.angle - Góc của vị trí home (tùy chọn, mặc định là 0).
     * @param location.pitch - Độ nghiêng của vị trí home (tùy chọn, mặc định là 0).
     * @param location.duration - Thời gian cho hiệu ứng bay đến vị trí (tùy chọn, mặc định là 2).
     */
    setLocationHome: (location: {
        longitude: number;
        latitude: number;
        height?: number;
        angle?: number;
        pitch?: number;
        duration?: number;
    }) => void;
    /**
     * Hàm xử lý hành động bay đến vị trí công trường
     */
    flyToHomeLocation: () => void;
    /**
     * Hàm bay đến vị trí mong muốn riêng
     *  @param {number} longitude kinh độ
     * @param {number} latitude  vĩ độ
     * @param {number} height  độ cao
     * @param {number} duration  thời gian bay
     */
    flyToLocation: (longitude: number, latitude: number, height?: number, duration?: number) => void;
    private _countTreeView;
    private _combinedBoundingSphere;
    private _getCombinedBoundingBox;
    /**
     * Hàm xóa điểm pick hiện tại
     */
    removePickPin: () => void;
    callBackLocationPick: (callback: (data: {
        longitude: number;
        latitude: number;
    } | null) => void) => void;
    /**
     * Hàm dùng chuột pick lấy về long lat tại điểm pick.
     * Có hiệu ứng preview khi di chuyển chuột (move pick).
     */
    /**
     * Hàm dùng chuột pick lấy về long lat tại điểm pick.
     */
    locationPickPin: (callback?: (data: {
        longitude: number;
        latitude: number;
    } | null) => void) => void;
}
