import { PathEvent } from "../event";
import Position from "../position/Position";
import Viewer from "../../modules/viewer/Viewer";
/**
 * 漫游路径
 * @example
 * ```ts
 * let path = new BC.RoamingPath('120.121,32.1213;121.132,32.1213', 20)
 * rc.addPath(path)
 * ```
 */
declare class RoamingPath {
    private _id;
    private _bid;
    private _positions;
    private _speed;
    private _timeLine;
    private _sampledPosition;
    private _velocityOrientation;
    private _actived;
    private _startTime;
    private _endTime;
    private _currentTime;
    private _pathEvent;
    private _state;
    private _viewer;
    private _heading;
    private _pitch;
    private _range;
    private _preState;
    private _progress;
    private _onProgress;
    /**
     *
     * @param positions 坐标串
     * @param duration 间隔时间，单位：秒
     * @param pathMode 路径模式：speed(匀速) / time(等时)
     */
    constructor(positions: string | Array<Position | number | string | Object>, options: {
        heading?: number;
        pitch?: number;
        range?: number;
        speed?: number;
    });
    /**
     * 唯一标识
     */
    get pathId(): string;
    /**
     * 业务唯一标识
     */
    set id(id: any);
    get id(): any;
    /**
     * 坐标串
     */
    set positions(postions: string | Array<Position | number | string>);
    /**
     * 获取坐标串
     */
    get positions(): Position[];
    /**
     * 漫游速度，m/s
     */
    set speed(speed: any);
    get speed(): any;
    /**
     * 漫游偏航角度
     */
    get heading(): number;
    set heading(heading: number);
    /**
     * 漫游俯仰角
     */
    get pitch(): number;
    set pitch(pitch: number);
    /**
     * 视角高度
     */
    get range(): number;
    set range(range: number);
    get pathEvent(): PathEvent;
    /**
     * 是否激活
     */
    set actived(actived: boolean);
    get actived(): boolean;
    /**
     * 状态
     */
    get state(): string;
    /**
     * 进度
     */
    get progress(): number;
    set progress(progress: number);
    start(viewer: Viewer, _onProgress?: (process: number) => void): void;
    /**
     * 暂停
     */
    pauseRoam(): void;
    /**
     * 停止漫游
     */
    stopRoam(): void;
    private _tickEventFun;
    private _endEventFun;
    private _onAdd;
    private _onRemove;
    private changeView;
    /**
     *
     * @param viewer
     * @param viewOption
     * @private
     */
    private _onPostRender;
    /**
     *
     */
    private _resetTimeLine;
    private Bearing;
}
export default RoamingPath;
