import { WidgetBase } from "@csnext/cs-client";
import { TextEntity } from "@csnext/cs-data";
import { Editor, Node } from "@tiptap/vue-2";
import { DocDatasource } from "./../../datasources/doc-datasource";
import { GraphDocument } from "./../../classes/document/graph-document";
import { ViewType } from "./../../classes/document/view-type";
import { FeatureType } from "@csnext/cs-data";
import { IImportPlugin } from "../..";
export default class DocumentViewer extends WidgetBase {
    get editor(): Editor | undefined | null;
    contextMenuitems: any[];
    set editor(value: Editor | undefined | null);
    content?: any;
    uploader: HTMLElement;
    selectedEntity?: TextEntity | null;
    keepInBounds: boolean;
    selection?: any;
    loaded: boolean;
    startMenu: boolean;
    selectionText?: string | undefined;
    selectionFrom?: number;
    selectionTo?: number;
    isLoading?: boolean;
    showPopup: boolean;
    node?: Node;
    source: DocDatasource | undefined;
    entityBubbleSelection: FeatureType | null;
    setEntity(): void;
    setNodeParagraph(): void;
    toggleEntities(): void;
    updateContextMenu(): void;
    mergeEntitites(): void;
    clear(): Promise<void>;
    setTextEntity(): void;
    beforeDestroy(): void;
    constructor();
    testEntity(): void;
    updateViewTypes(): void;
    private dynamicSort;
    createTextEntities(): void;
    checkDocument(): void;
    updateEditor(destroy?: boolean): void;
    loadDocument(doc: GraphDocument): void;
    createKG(): void;
    updateContent(): void;
    getText(j: any): string;
    refreshHighlights(): void;
    removeViewType(type: ViewType): void;
    refresh(ignorePopup?: boolean): Promise<void>;
    syncDocumentState(): void;
    doImport(plugin: IImportPlugin): void;
    save(): void;
    contentLoaded(source: DocDatasource): void;
    private checkDocumentIdQuery;
    private dragMoveListener;
    private initializeDragDrop;
    mounted(): void;
}
