import { WidgetBase } from '@csnext/cs-client';
import { FeatureType, TextEntity } from '@csnext/cs-data';
import { Editor, Node } from '@tiptap/vue-2';
import { IImportPlugin } from '../..';
import { DocDatasource, GraphDocument } from './../../';
import { IMenu } from '@csnext/cs-core';
export default class DocumentViewer extends WidgetBase {
    get editor(): Editor | undefined | null;
    dragInitialized: boolean;
    contextMenuitems: any[];
    documentToolsMenu: IMenu[];
    documentActionsMenu: IMenu[];
    set editor(value: Editor | undefined | null);
    get hideHeader(): boolean;
    toggleTitle(): void;
    selectDocumentTool(tool: IMenu): Promise<void>;
    selectDocumentAction(tool: IMenu): Promise<void>;
    updateDocumentTools(): void;
    updateDocumentActions(): void;
    content?: any;
    uploader: HTMLElement;
    selectedEntity?: TextEntity | null;
    keepInBounds: boolean;
    selection?: any;
    editMode: boolean;
    loaded: boolean;
    startMenu: boolean;
    selectionText?: string | undefined;
    selectionFrom?: number;
    selectionTo?: number;
    isLoading?: boolean;
    showPopup: boolean;
    extendedToolbar: boolean;
    editTitle: boolean;
    node?: Node;
    source: DocDatasource | undefined;
    entityBubbleSelection: FeatureType | null;
    doc: any;
    setEntity(): void;
    setEditorMode(mode: string): void;
    setElementCard(): void;
    private publishedDate;
    setNodeParagraph(): void;
    updateContextMenu(): void;
    clear(): Promise<void>;
    setTextEntity(): void;
    beforeDestroy(): void;
    private tempDocument;
    constructor();
    currentDocument: GraphDocument | undefined;
    openElement(document: GraphDocument): void;
    testEntity(): void;
    updateEntityTypes(): void;
    private dynamicSort;
    openDetails(): void;
    updateStartMenu(): void;
    updateEditor(destroy?: boolean): void;
    loadDocument(doc: GraphDocument): Promise<void>;
    createKG(): void;
    updateContent(): void;
    getText(j: any): string;
    refreshHighlights(): void;
    refresh(ignorePopup?: boolean): Promise<void>;
    syncDocumentState(): void;
    doImport(plugin: IImportPlugin): void;
    save(): void;
    onDrop(event: DragEvent): void;
    contentLoaded(source: DocDatasource): void;
    private checkDocumentIdQuery;
    private dragMoveListener;
    private initializeDragDrop;
    initTools(): void;
    initDragging(): void;
    mounted(): void;
}
