import { EOperationType, ERenderFilterType } from "../core/enum";
import { BaseCollectorReducerAction, Diff, DiffAuthPage, DiffAuthRender, ISerializableAuthData, ISerializableStorageData, ISerializableStorageViewData, ScenePath, Uid, ViewId, WorkId } from "./types";
import { BaseCollector } from "./base";
import type { _SetTrue, AppliancePluginLike } from "../plugin/types";
import { BaseApplianceManager } from "../plugin/baseApplianceManager";
/**
 * 服务端事件/状态同步收集器
 */
export declare class Collector extends BaseCollector<ISerializableStorageViewData> {
    protected authSpace: string;
    protected namespace: string;
    static namespace: string;
    static authSpace: string;
    static syncInterval: number;
    static componentsLimits: number[];
    serviceStorage: ISerializableStorageViewData;
    storage: ISerializableStorageViewData;
    authStorage: ISerializableAuthData;
    private stateDisposer;
    private authDisposer;
    private asyncClockState;
    private limitNums;
    constructor(control: BaseApplianceManager, plugin: AppliancePluginLike, syncInterval?: number);
    private getLimitNum;
    private getLimitNums;
    getViewIdBySecenPath(scenePath: string): string | undefined;
    getScenePathData(scenePath: string): ISerializableStorageData | undefined;
    getStorageData(viewId: string, scenePath: string): ISerializableStorageData | undefined;
    hasSelector(viewId: string, scenePath: string): boolean;
    addStorageStateListener(callBack: (diff: Diff) => void): void;
    removeStorageStateListener(): void;
    private diffFunByView;
    private diffFunByScenePath;
    private diffFunByKeys;
    transformKey(workId: number | string): string;
    isOwn(key: string): boolean;
    dispatch(action: BaseCollectorReducerAction): void;
    private checkOtherSelector;
    setState(state: ISerializableStorageData, options: {
        viewId: string;
        scenePath: string;
        isSync?: boolean;
        isAfterUpdate?: boolean;
    }): void;
    updateValue(key: string, value: any, options: {
        viewId: string;
        scenePath: string;
        isSync?: boolean;
        storage?: ISerializableStorageViewData;
    }): void;
    private runSyncService;
    private syncSerivice;
    private syncViewData;
    private syncScenePathData;
    private syncUpdataView;
    private syncStorageView;
    private syncUpdataScenePath;
    private syncStorageScenePath;
    private syncUpdataKey;
    private syncStorageKey;
    keyTransformWorkId(key: string): string;
    destroy(): void;
    dispatchPageAuth(action: {
        operation: EOperationType;
        viewId: ViewId;
        scenePath?: ScenePath;
        pageId?: Uid;
        pageData?: {
            render?: Uid;
            elementIds?: Set<WorkId>;
            elementId?: WorkId;
        };
    }, isSync?: boolean): void;
    dispatchRenderAuth(action: {
        operation: ERenderFilterType;
        viewId: ViewId;
        uid?: Uid;
        isClear?: boolean;
        renderData?: {
            render?: _SetTrue;
            hide?: _SetTrue;
            clear?: _SetTrue;
        };
    }, isSync?: boolean): void;
    addAuthStateListener(callBack: (diffAuthRender?: DiffAuthRender, diffAuthPage?: DiffAuthPage) => void): void;
    removeAuthStateListener(): void;
    private diffAuthFun;
    private diffAuthPageFun;
    private limitComponents;
    private clearLimitComponents;
}
