import { Schema } from 'prosemirror-model'; import { Plugin } from 'prosemirror-state'; import { EditorProps, EditorView } from 'prosemirror-view'; import { Observable } from 'rxjs'; import EditorCommands from './EditorCommands'; declare type JSONDoc = Record; declare type Content = string | null | JSONDoc; interface Options { content?: Content; history?: boolean; keyboardShortcuts?: boolean; inputRules?: boolean; schema?: Schema; plugins?: Plugin[]; nodeViews?: EditorProps['nodeViews']; attributes?: EditorProps['attributes']; features?: EditorFeatures; handleScrollToSelection?: EditorProps['handleScrollToSelection']; } interface EditorFeatures { linkOnPaste?: boolean; resizeImage?: boolean; } declare class Editor { private options; view: EditorView; constructor(options?: Options); private valueChangesSubject; private updateSubject; get valueChanges(): Observable; get update(): Observable; get schema(): Schema; get commands(): EditorCommands; get features(): EditorFeatures; private handleTransactions; private createEditor; setContent(content: Content): void; registerPlugin(plugin: Plugin): void; destroy(): void; } export default Editor;