import { Doc } from '../view/Doc';
import { InteractionState, InteractionType } from './types';
export declare class InteractionManager {
    doc: Doc;
    /** 所有 interaction 状态 */
    private state;
    private batcher;
    constructor(doc: Doc);
    /** 获取 interaction */
    get<K extends InteractionType>(type: K): InteractionState[K];
    /** 设置 interaction */
    set<K extends InteractionType>(type: K, value: InteractionState[K], reason?: string): void;
    /** 清除 */
    clear<K extends InteractionType>(type: K): void;
    /** emit */
    private emitChange;
    /** 广播事件 */
    private broadcastChange;
    /** 判断是否相同 */
    private isSame;
    /** tableSelection 特殊比较 */
    private isSameTableSelection;
    /** debug 用 */
    getAllState(): InteractionState;
}
