import type { AppInMainViewPlugin } from './plugin'; import type { AppInMainViewManager } from './manager'; import { AppId, AppState } from './types'; import { ObserverMap } from './ObserverMap'; export declare const plainObjectKeys: (o: T) => Array>; export type CollectorProps = { control: AppInMainViewManager; plugin: AppInMainViewPlugin; }; export interface ICollector { /** 状态存储器 */ storage: ObserverMap; /** 获取课件状态 */ getAppState(appId: AppId): AppState; /** 添加课件状态 */ addAppState(appId: AppId, appState: AppState): void; /** 删除课件状态 */ deleteAppState(appId: AppId): void; /** 更新课件状态 */ updateAppState(appId: AppId, appState: AppState): void; /** 销毁 */ destroy(): void; } /** * 服务端事件/状态同步收集器 */ export declare class Collector implements ICollector { private control; private plugin; private storageObserver; private stateDisposer; constructor(props: CollectorProps); get storage(): ObserverMap; getAppState(appId: AppId): AppState; addAppState(appId: AppId, appState: AppState): void; deleteAppState(appId: AppId): void; updateAppState(appId: AppId, appState: AppState): void; private getAttributes; private diff; private observeStorage; destroy(): void; }