import * as WM from './type';
import { selectText } from './utils';
export { WM as WordMarker };
export default function wordMarker(container: HTMLElement, opts: WM.MarkOptions): {
    selectText: typeof selectText;
    triggerMarker: () => void;
    getActualMarkData(): WM.MarkData[];
    /**
     * 获取所有的标记数据
     * @returns 获取标记数据
     */
    getMarkData(): WM.MarkData[];
    /**
     * 添加标记
     * @param data
     */
    addMark(data: WM.MarkData | WM.MarkData[]): void;
    /**
     * 修改标记备注
     * @param id
     * @param msg
     */
    modifyMark(id: string, msg: string): void;
    /**
     * 根据 ID 获取标记位置
     * @param id
     * @returns
     */
    getPosition(id: string): {
        x: number;
        y: number;
        range: WM.Range[];
    } | undefined;
    /**
     * 根据 ID 删除标记
     * @param id
     */
    deleteMark(id: string | string[]): void;
    /**
     * 根据 x y 获取该位置是否有标记
     * @param x
     * @param y
     * @returns
     */
    checkMark(x: number, y: number): {
        id: string;
        startEle?: Text | undefined;
        startEleId?: string | undefined;
        startOffset: number;
        startText: string;
        startBrother: string;
        startParentText?: string | undefined;
        endEle?: Text | undefined;
        endEleId?: string | undefined;
        endOffset: number;
        endText: string;
        endBrother: string;
        endParentText?: string | undefined;
        text: string;
        single: boolean;
        message: string;
    } | undefined;
    /**
     * 高亮标记
     * @param id
     */
    highlightMark: (id?: string, force?: boolean) => void;
    /**
     * 重新刷新标记
     */
    refresh(): void;
    /**
     * 清除所有标记
     */
    clear(): void;
    /**
     * 销毁所有事件
     */
    destroy(): void;
    /**
     * @deprecated 请使用 destroy 方法
     */
    destory(): void;
};
