import { IAnchor, IEditorCore, IPlugin } from '../../typings';
export declare class AnchorTagPlugin<T extends Record<string, any> = {
    anchor: IAnchor;
}, D extends Record<string, Array<{
    background: string;
    data: IAnchor;
    id: number;
}>> = any> extends IPlugin<T, D> {
    private editor;
    private observer;
    private resizeObserver;
    name: string;
    prefix: string;
    data: D;
    constructor(editor: IEditorCore);
    add(options: T): void;
    remove(target: HTMLSpanElement): void;
    private _recordAnchor;
    private get _newAnchorId();
    private _insertAnchorTag;
    private _isIntersectOtherAnchors;
    private _calcTopValue;
    /**
     * MutationObserver 监听编辑器内容变化，当内容变化时重新计算 anchor 的 top 值。
     *
     * * 1. 获取编辑器内所有的 anchor 标签
     * * 2. 根据 anchor 标签的 dataset.id 分组
     * * 3. 每个分组的第一个 anchor 标签的 top 值作为该组的 top 值
     * * 4. 重新计算 top 值
     * * 5. 更新 anchor 标签的 dataset.top 值
     * * 6. 更新 data 中的 top 值
     * * 7. 自动触发 vue 响应式渲染，更新右侧主播标签的决定定位 top 值
     */
    private _syncAnchorTopValue;
    setup(): void;
    destroy(): void;
}
