import { Plugin, ProseMirror, Schema } from '../../prosemirror'; import { LinkMarkType } from '../../schema'; export declare type StateChangeHandler = (state: HyperlinkState) => void; export declare class HyperlinkState { href?: string; text?: string; active: boolean; canAddLink: boolean; element?: HTMLElement; private changeHandlers; private inputRules; private pm; private activeLinkNode?; private activeLinkMark?; private activeLinkStartPos?; constructor(pm: PM); subscribe(cb: StateChangeHandler): void; unsubscribe(cb: StateChangeHandler): void; addLink(options: HyperlinkOptions): void; removeLink(forceTextSelection?: boolean): void; updateLink(options: HyperlinkOptions): void; detach(pm: ProseMirror): void; private update(); private setup(nodeInfo); private getActiveLinkNodeInfo(); private getActiveLinkMark(activeLinkNode); private getDomElement(); private isActiveNodeLinkable(); } declare var _default: Plugin; export default _default; export interface S extends Schema { marks: { link?: LinkMarkType; }; } export interface PM extends ProseMirror { schema: S; } export interface HyperlinkOptions { href: string; }