import { Five } from '@realsee/five';
import { BasePlugin } from '@realsee/five/plugins';
import type * as PluginType from './typing';
export declare class Controller extends BasePlugin.Controller<PluginType.State, PluginType.EventMap, PluginType.ServerData, PluginType.PluginData> {
    /** 当前使用的数据 */
    data?: PluginType.PluginData;
    /** 插件当前状态 */
    state: PluginType.State;
    /** config 的原始值 */
    private _config;
    get config(): {
        maxOpacity: number;
    };
    private group;
    private canvas?;
    private ctx?;
    private startTime?;
    private updateState;
    /**
     * 更改插件 Config
     * @param config - 插件属性 `config` 的子集。
     * @param options - 参数
     */
    updateConfig(config: Partial<PluginType.Config>, options?: BasePlugin.BaseOptions): void;
    private mesh;
    private panoMesh;
    constructor(five: Five, params?: PluginType.Params);
    load(data: PluginType.ServerData): Promise<void>;
    private stop;
    private drawLine;
    private anime;
    private _enable;
    private _disable;
    /**
     * 启用插件，让插件能够响应交互
     */
    enable(options?: BasePlugin.BaseOptions): void;
    /**
     * 禁用插件，让插件停止响应交互
     */
    disable(options?: BasePlugin.BaseOptions): void;
    /** 更改插件 State */
    setState(state: Partial<PluginType.State>, options?: BasePlugin.BaseOptions): void;
    /** 销毁插件，移除所有副作用，销毁后将不响应任何 API */
    dispose: () => void;
}
