import RoamingPath from "./RoamingPath";
import Viewer from "../viewer/Viewer";
/**
 * 漫游控制
 * @example
 * ```ts
 * let rc = new BC.RoamingController(viewer)
 * ```
 */
declare class RoamingController {
    private _viewer;
    private _viewOption;
    private _cache;
    private _activedPath;
    /**
     * @param viewer 3D 场景
     */
    constructor(viewer: Viewer);
    /**
     *
     * @returns {boolean}
     * @private
     */
    private _onPostRender;
    /**
     * 添加路径
     * @param path 路径
     * @returns {RoamingController}
     */
    addPath(path: RoamingPath): RoamingController;
    /**
     * 添加路径数组
     * @param paths 路径数组
     * @returns {RoamingController}
     */
    addPaths(paths: RoamingPath[]): RoamingController;
    /**
     * 移除路径
     * @param path
     * @returns {RoamingController}
     */
    removePath(path: RoamingPath): RoamingController;
    /**
     * 根据唯一标识获取路径
     * @param id 唯一标识
     * @returns {*|undefined}
     */
    getPath(id: string): RoamingPath | undefined;
    /**
     * 获取所有路径
     * @returns 返回漫游控制下的所有路径
     */
    getPaths(): RoamingPath[];
    /**
     * 激活漫游
     * @param path 路径
     * @param onProcess 进度回调
     * @returns {RoamingController}
     * @example
     * ```ts
     * // 漫游参数（可选）
     * {
     *   "pitch": 0, // 俯仰角
     *   "range": 1000 // 距离
     * }
     * ```
     */
    activate(path: RoamingPath, _onProgress?: (process: number) => void): RoamingController;
    pause(): void;
    /**
     * 结束漫游
     * @returns {RoamingController}
     */
    deactivate(): RoamingController;
    /**
     * 移除所有路径
     * @returns {RoamingController}
     */
    clear(): RoamingController;
}
export default RoamingController;
