import '../styles/flycamera.css';
export declare class FlyCamera {
    viewer: any;
    private handler;
    containerId: string;
    private IdGenneral;
    private modal;
    private onClosedCallback;
    private dialog;
    private containerBody;
    private containerFooter;
    constructor(containerId: string, viewer: any);
    setClosedCallback(callback: (status: boolean) => void): void;
    notifyCallBack(status: boolean): void;
    createModalSettingCamera: () => void;
    private handleCloseModal;
    showHideModalCameraSetting: (show: boolean) => void;
    private renderBodySettingCamera;
    private renderFooterSettingCamera;
    pointKML: any;
    totalDistanceFly: number;
    dataSources: any;
    private loadFileKMZ;
    loadFileKmzFromUrl: (url: string) => Promise<string>;
    private handleFileKmz;
    /**
   * Hàm load lại view list File KMZ
   */
    private updateFileList;
    /**
    * Hàm theo dỗi checkbox của list
    * @param {string} id id Thẻ
    * @param {string} value  giá trị của checkbox  *
    * @param {boolean} checked  check/uncheck  *
    */
    btnDeleteKmz: any;
    btnOkKmz: any;
    checkedFiles: string[];
    private handleCheckboxChange;
    /**
     * Hàm xóa file của list checkbox
     */
    private removeCheckedFromDataSources;
    totalDistanceElement: any;
    flightTimeInput: any;
    flightSpeedInput: any;
    heightCameraInput: any;
    angleCameraInput: any;
    /**
     * Hàm theo dõi thay đổi của input
     */
    private handleTrackInput;
    /**
     * Chặn các ký tự không hợp lệ và chỉ cho phép nhập số nguyên
     */
    private restrictToIntegerInput;
    /**
     * Tính vận tốc bay dựa vào thời gian bay
     * @param {number} time - Thời gian bay (giây)
     * @param {number} distance - Quảng đường bay (km)
     * @returns {number} Vận tốc bay (km/h)
     */
    private calculateSpeed;
    /**
     * Tính thời gian bay dựa vào vận tốc bay
     * @param {number} speed - Vận tốc bay (km/h)
     * @param {number} distance - Quảng đường bay (km)
     * @returns {number} Thời gian bay (giây)
     */
    private calculateTime;
    /**
     * Xử lý sự kiện khi thay đổi thời gian bay (chỉ chấp nhận số nguyên dương)
     */
    private validateAndHandleFlightTimeChange;
    /**
     * Xử lý sự kiện khi thay đổi vận tốc bay (chỉ chấp nhận số nguyên dương)
     */
    private validateAndHandleFlightSpeedChange;
    /**
    * Xử lý sự kiện khi thay đổi chiều cao của camera so với móc path ban đầu
    */
    private validateAndHandleHeightCameraChange;
    /**
   * Xử lý sự kiện khi thay đổi góc nhìn của camera
   */
    private validateAndHandleAngleCameraChange;
    points: any;
    valueSpeedCam: number;
    onTickListener: any;
    droneEntity: any;
    pointDotFormKML: any;
    finishDroneLine: any;
    private isContinue;
    private moveCameraAlongPath;
    private drawPathFromDroneEntity;
    private getMergedPointKML;
    playCameraMove: (play: boolean) => void;
    speedCameraMove: (accelerate: boolean) => void;
    resetCameraMove: () => void;
    showHidePointPath: (showPoints: boolean) => void;
}
