import type { Five } from '@realsee/five';
import { BasePlugin } from '../BasePlugin';
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(): {};
    private updateState;
    constructor(five: Five, params?: PluginType.Params);
    load(data: PluginType.ServerData): Promise<void>;
    private _enable;
    private _disable;
    /**
   * 启用插件，让插件能够响应交互
   */
    enable(options?: BasePlugin.BaseOptions): void;
    /**
     * 禁用插件，让插件停止响应交互
     */
    disable(options?: BasePlugin.BaseOptions): void;
    /** 销毁插件，移除所有副作用，销毁后将不响应任何 API */
    dispose: () => void;
}
