import { Text as DocText } from "@codemirror/next/text"; import { ContentView, DOMPos } from "./contentview"; import { WidgetType, MarkDecoration } from "./decoration"; import { Rect } from "./dom"; import { CompositionWidget } from "./docview"; export declare abstract class InlineView extends ContentView { children: ContentView[]; abstract merge(from: number, to: number, source: InlineView | null, openStart: number, openEnd: number): boolean; become(_other: InlineView): boolean; abstract slice(from: number): InlineView; getSide(): number; } export declare class TextView extends InlineView { text: string; dom: Text | null; constructor(text: string); get length(): number; createDOM(textDOM?: Node): void; sync(track?: { node: Node; written: boolean; }): void; reuseDOM(dom: Node): boolean; merge(from: number, to: number, source: InlineView | null): boolean; slice(from: number): TextView; localPosFromDOM(node: Node, offset: number): number; domAtPos(pos: number): DOMPos; domBoundsAround(_from: number, _to: number, offset: number): { from: number; to: number; startDOM: Text | null; endDOM: ChildNode | null; }; coordsAt(pos: number, side: number): Rect; } export declare class MarkView extends InlineView { readonly mark: MarkDecoration; children: InlineView[]; length: number; dom: HTMLElement | null; constructor(mark: MarkDecoration, children?: InlineView[], length?: number); createDOM(): void; sync(track?: { node: Node; written: boolean; }): void; merge(from: number, to: number, source: InlineView | null, openStart: number, openEnd: number): boolean; slice(from: number): MarkView; domAtPos(pos: number): DOMPos; coordsAt(pos: number, side: number): Rect | null; } export declare class WidgetView extends InlineView { widget: WidgetType; length: number; readonly side: number; dom: HTMLElement | null; static create(widget: WidgetType, length: number, side: number): WidgetView; constructor(widget: WidgetType, length: number, side: number); slice(from: number): WidgetView; sync(): void; getSide(): number; merge(from: number, to: number, source: InlineView | null, openStart: number, openEnd: number): boolean; become(other: InlineView): boolean; ignoreMutation(): boolean; ignoreEvent(event: Event): boolean; get overrideDOMText(): DocText | null; domAtPos(pos: number): DOMPos; domBoundsAround(): null; coordsAt(pos: number, side: number): Rect | null; } export declare class CompositionView extends WidgetView { widget: CompositionWidget; domAtPos(pos: number): DOMPos; sync(): void; localPosFromDOM(node: Node, offset: number): number; ignoreMutation(): boolean; get overrideDOMText(): null; coordsAt(pos: number, side: number): Rect; } export declare function mergeInlineChildren(parent: ContentView & { children: InlineView[]; }, from: number, to: number, elts: InlineView[], openStart: number, openEnd: number): void; export declare function sliceInlineChildren(children: readonly InlineView[], from: number): InlineView[]; export declare function inlineDOMAtPos(dom: HTMLElement, children: readonly InlineView[], pos: number): DOMPos; export declare function joinInlineInto(parent: ContentView, view: InlineView, open: number): void; export declare function coordsInChildren(view: ContentView & { children: InlineView[]; }, pos: number, side: number): Rect | null; //# sourceMappingURL=inlineview.d.ts.map