import type { Schema } from "prosemirror-model"; import { EditorView } from "prosemirror-view"; import { NoCollabSave } from "./no_collab_save/index.js"; import type { EditorApp, EditorUser } from "./types.js"; export declare const COMMENT_ONLY_ROLES: string[]; export declare const READ_ONLY_ROLES: string[]; export declare const REVIEW_ROLES: string[]; export declare const WRITE_ROLES: string[]; export declare class Editor { app: EditorApp; user: EditorUser; editorPlugins: any[]; citationDialogPlugins: any[] | null; mod: any; waitingForDocument: boolean; docInfo: any; schema: Schema; menu: any; client_id: number; clientTimeAdjustment: number; e2ee: any; pathEditable: boolean; /** Optional callback invoked after the user edited the document title/path in the header. */ onPathChange?: (path: string) => void; statePlugins: any[]; view: EditorView; currentView: EditorView; ws: { connectionCount: number; online: boolean; connected: boolean; ws: WebSocket; init(): void; close(): void; send(data: string | (() => Record | false | undefined)): void; }; dom: HTMLElement; mount?: HTMLElement; plugins?: Record; noCollabSave?: NoCollabSave; constructor({ app, user, mount }: { app: EditorApp; user: EditorUser; mount?: HTMLElement; }, path: string, idString: string, editorPlugins?: [string, Record][], citationDialogPlugins?: null); init(): Promise; /** * Open the WebSocket connection and attach the close listener. * Called immediately for non-E2EE documents and deferred until after * password entry + decryption for E2EE documents. */ startWebSocket(): void; handleAccessRightModification(): void; /** * Create a new E2EE document. * * If the user has set up a personal passphrase, generates a random * document encryption key (DEK) and encrypts it with the master key. * Otherwise, prompts for a per-document password. * * @private */ _createE2EEDocument(): Promise; close(): void; render(): void; onResize(): void; onBeforeUnload(): boolean; initEditor(): void; activateFidusPlugins(): Promise; getDoc(options?: { use_current_view?: boolean; changes?: string; }): any; scrollIdIntoView(id: string): void; scrollPosIntoView(pos: number, view: EditorView): void; scrollBibliographyIntoView(): void; } export type { EditorDocumentApi, EditorDocumentImportApi, EditorContactsApi } from "./types.js"; export { createStaticEditor } from "./static_editor.js"; export type { StaticEditorConfig } from "./static_editor.js"; export { createStaticApp } from "./static_app.js"; export type { StaticAppConfig, StaticDocumentStyle, StaticExportTemplate, StaticDocumentTemplate } from "./static_app.js"; //# sourceMappingURL=index.d.ts.map