import * as React from "react"; import { EditorState, Plugin } from "prosemirror-state"; import { MarkdownParser, MarkdownSerializer } from "prosemirror-markdown"; import { EditorView } from "prosemirror-view"; import { Schema, NodeSpec, MarkSpec } from "prosemirror-model"; import { InputRule } from "prosemirror-inputrules"; import baseDictionary from "./dictionary"; import { SearchResult } from "./components/LinkEditor"; import { EmbedDescriptor, ToastType } from "./types"; import Tooltip from "./components/Tooltip"; import Extension from "./lib/Extension"; import ExtensionManager from "./lib/ExtensionManager"; import ComponentView from "./lib/ComponentView"; import { PluginSimple } from "markdown-it"; export { schema, parser, serializer, renderToHtml } from "./server"; export { default as Extension } from "./lib/Extension"; export declare const theme: { isDark: boolean; background: string; secondaryBackground: string; link: string; cursor: string; text: string; textSecondary: string; textTertiary: string; textDiffInserted: string; textDiffInsertedBackground: string; textDiffDeleted: string; textDiffDeletedBackground: string; placeholder: string; sidebarBackground: string; sidebarActiveBackground: string; sidebarControlHoverBackground: string; sidebarDraftBorder: string; sidebarText: string; backdrop: string; shadow: string; modalBackdrop: string; modalBackground: string; modalShadow: string; menuItemSelected: string; menuBackground: string; menuShadow: string; divider: string; titleBarDivider: string; inputBorder: string; inputBorderFocused: string; buttonBorder: string; listItemHoverBackground: string; toolbarHoverBackground: string; toolbarBackground: string; toolbarInput: string; toolbarItem: string; tableDivider: string; tableSelected: string; tableSelectedBackground: string; buttonNeutralBackground: string; buttonNeutralText: string; buttonNeutralBorder: string; tooltipBackground: string; tooltipText: string; toastBackground: string; toastText: string; quote: string; codeBackground: string; codeBorder: string; embedBorder: string; horizontalRule: string; progressBarBackground: string; scrollbarBackground: string; scrollbarThumb: string; fontFamily: string; fontFamilyMono: string; fontWeight: number; backgroundTransition: string; selected: string; buttonBackground: string; buttonText: string; textHighlight: string; textHighlightForeground: string; code: string; codeComment: string; codePunctuation: string; codeNumber: string; codeProperty: string; codeTag: string; codeString: string; codeSelector: string; codeAttr: string; codeEntity: string; codeKeyword: string; codeFunction: string; codeStatement: string; codePlaceholder: string; codeInserted: string; codeImportant: string; noticeInfoBackground: string; noticeInfoText: string; noticeTipBackground: string; noticeTipText: string; noticeWarningBackground: string; noticeWarningText: string; breakpoints: { mobile: number; mobileLarge: number; tablet: number; desktop: number; desktopLarge: number; }; padding: string; vpadding: string; hpadding: string; sidebarWidth: number; sidebarCollapsedWidth: number; sidebarMinWidth: number; sidebarMaxWidth: number; transparent: string; almostBlack: string; lightBlack: string; almostWhite: string; veryDarkBlue: string; slate: string; slateLight: string; slateDark: string; smoke: string; smokeLight: string; smokeDark: string; white: string; white05: string; white10: string; white50: string; white75: string; black: string; black05: string; black10: string; black50: string; primary: string; yellow: string; warmGrey: string; searchHighlight: string; danger: string; warning: string; success: string; info: string; brand: { red: string; pink: string; purple: string; blue: string; marine: string; green: string; yellow: string; }; }; export declare type Props = { id?: string; value?: string; defaultValue: string; placeholder: string; extensions?: Extension[]; disableExtensions?: ("strong" | "code_inline" | "highlight" | "em" | "link" | "placeholder" | "strikethrough" | "underline" | "blockquote" | "bullet_list" | "checkbox_item" | "checkbox_list" | "code_block" | "code_fence" | "embed" | "br" | "heading" | "hr" | "image" | "list_item" | "container_notice" | "ordered_list" | "paragraph" | "table" | "td" | "th" | "tr" | "emoji")[]; autoFocus?: boolean; readOnly?: boolean; readOnlyWriteCheckboxes?: boolean; dictionary?: Partial; dark?: boolean; dir?: string; theme?: typeof theme; template?: boolean; headingsOffset?: number; maxLength?: number; scrollTo?: string; handleDOMEvents?: { [name: string]: (view: EditorView, event: Event) => boolean; }; uploadImage?: (file: File) => Promise; onBlur?: () => void; onFocus?: () => void; onSave?: ({ done: boolean }: { done: any; }) => void; onCancel?: () => void; onChange?: (value: () => string) => void; onImageUploadStart?: () => void; onImageUploadStop?: () => void; onCreateLink?: (title: string) => Promise; onSearchLink?: (term: string) => Promise; onClickLink: (href: string, event: MouseEvent) => void; onHoverLink?: (event: MouseEvent) => boolean; onClickHashtag?: (tag: string, event: MouseEvent) => void; onKeyDown?: (event: React.KeyboardEvent) => void; embeds: EmbedDescriptor[]; onShowToast?: (message: string, code: ToastType) => void; tooltip: typeof React.Component | React.FC; className?: string; style?: React.CSSProperties; }; declare type State = { isRTL: boolean; isEditorFocused: boolean; selectionMenuOpen: boolean; blockMenuOpen: boolean; linkMenuOpen: boolean; blockMenuSearch: string; emojiMenuOpen: boolean; }; declare class RichMarkdownEditor extends React.PureComponent { static defaultProps: { defaultValue: string; dir: string; placeholder: string; onImageUploadStart: () => void; onImageUploadStop: () => void; onClickLink: (href: any) => void; embeds: import("./embeds").EmbedDescriptor[]; extensions: never[]; tooltip: typeof Tooltip; }; state: { isRTL: boolean; isEditorFocused: boolean; selectionMenuOpen: boolean; blockMenuOpen: boolean; linkMenuOpen: boolean; blockMenuSearch: string; emojiMenuOpen: boolean; }; isBlurred: boolean; extensions: ExtensionManager; element?: HTMLElement | null; view: EditorView; schema: Schema; serializer: MarkdownSerializer; parser: MarkdownParser; pasteParser: MarkdownParser; plugins: Plugin[]; keymaps: Plugin[]; inputRules: InputRule[]; nodeViews: { [name: string]: (node: any, view: any, getPos: any, decorations: any) => ComponentView; }; nodes: { [name: string]: NodeSpec; }; marks: { [name: string]: MarkSpec; }; commands: Record; rulePlugins: PluginSimple[]; componentDidMount(): void; componentDidUpdate(prevProps: Props): void; init(): void; createExtensions(): ExtensionManager; createPlugins(): Plugin[]; createRulePlugins(): PluginSimple[]; createKeymaps(): Plugin[]; createInputRules(): InputRule[]; createNodeViews(): {}; createCommands(): {}; createNodes(): {}; createMarks(): {}; createSchema(): Schema; createSerializer(): import("./lib/markdown/serializer").MarkdownSerializer; createParser(): MarkdownParser; createPasteParser(): MarkdownParser; createState(value?: string): EditorState; createDocument(content: string): import("prosemirror-model").Node; createView(): EditorView; scrollToAnchor(hash: string): void; calculateDir: () => void; value: () => string; handleChange: () => void; handleSave: () => void; handleSaveAndExit: () => void; handleEditorBlur: () => void; handleEditorFocus: () => void; handleOpenSelectionMenu: () => void; handleCloseSelectionMenu: () => void; handleOpenLinkMenu: () => void; handleCloseLinkMenu: () => void; handleOpenBlockMenu: (search: string) => void; handleCloseBlockMenu: () => void; handleSelectRow: (index: number, state: EditorState) => void; handleSelectColumn: (index: number, state: EditorState) => void; handleSelectTable: (state: EditorState) => void; focusAtStart: () => void; focusAtEnd: () => void; getHeadings: () => { title: string; level: number; id: string; }[]; theme: () => { isDark: boolean; background: string; secondaryBackground: string; link: string; text: string; cursor: string; textSecondary: string; textTertiary: string; textDiffInserted: string; textDiffInsertedBackground: string; textDiffDeleted: string; textDiffDeletedBackground: string; placeholder: string; sidebarBackground: string; sidebarActiveBackground: string; sidebarControlHoverBackground: string; sidebarDraftBorder: string; sidebarText: string; backdrop: string; shadow: string; modalBackdrop: string; modalBackground: string; modalShadow: string; menuItemSelected: string; menuBackground: string; menuShadow: string; divider: string; titleBarDivider: string; inputBorder: string; inputBorderFocused: string; listItemHoverBackground: string; toolbarHoverBackground: string; toolbarBackground: string; toolbarInput: string; toolbarItem: string; tableDivider: string; tableSelected: string; tableSelectedBackground: string; buttonNeutralBackground: string; buttonNeutralText: string; buttonNeutralBorder: string; tooltipBackground: string; tooltipText: string; toastBackground: string; toastText: string; quote: string; code: string; codeBackground: string; codeBorder: string; codeString: string; embedBorder: string; horizontalRule: string; noticeInfoText: string; noticeTipText: string; noticeWarningText: string; progressBarBackground: string; scrollbarBackground: string; scrollbarThumb: string; fontFamily: string; fontFamilyMono: string; fontWeight: number; backgroundTransition: string; selected: string; buttonBackground: string; buttonText: string; textHighlight: string; textHighlightForeground: string; codeComment: string; codePunctuation: string; codeNumber: string; codeProperty: string; codeTag: string; codeSelector: string; codeAttr: string; codeEntity: string; codeKeyword: string; codeFunction: string; codeStatement: string; codePlaceholder: string; codeInserted: string; codeImportant: string; noticeInfoBackground: string; noticeTipBackground: string; noticeWarningBackground: string; breakpoints: { mobile: number; mobileLarge: number; tablet: number; desktop: number; desktopLarge: number; }; padding: string; vpadding: string; hpadding: string; sidebarWidth: number; sidebarCollapsedWidth: number; sidebarMinWidth: number; sidebarMaxWidth: number; transparent: string; almostBlack: string; lightBlack: string; almostWhite: string; veryDarkBlue: string; slate: string; slateLight: string; slateDark: string; smoke: string; smokeLight: string; smokeDark: string; white: string; white05: string; white10: string; white50: string; white75: string; black: string; black05: string; black10: string; black50: string; primary: string; yellow: string; warmGrey: string; searchHighlight: string; danger: string; warning: string; success: string; info: string; brand: { red: string; pink: string; purple: string; blue: string; marine: string; green: string; yellow: string; }; }; dictionary: ((providedDictionary?: Partial<{ addColumnAfter: string; addColumnBefore: string; addRowAfter: string; addRowBefore: string; alignCenter: string; alignLeft: string; alignRight: string; bulletList: string; checkboxList: string; codeBlock: string; codeCopied: string; codeInline: string; createLink: string; createLinkError: string; createNewDoc: string; deleteColumn: string; deleteRow: string; deleteTable: string; deleteImage: string; downloadImage: string; replaceImage: string; alignImageLeft: string; alignImageRight: string; alignImageDefault: string; em: string; embedInvalidLink: string; findOrCreateDoc: string; h1: string; h2: string; h3: string; heading: string; hr: string; image: string; imageUploadError: string; imageCaptionPlaceholder: string; info: string; infoNotice: string; link: string; linkCopied: string; mark: string; newLineEmpty: string; newLineWithSlash: string; noResults: string; openLink: string; orderedList: string; pageBreak: string; pasteLink: string; pasteLinkWithTitle: (title: string) => string; placeholder: string; quote: string; removeLink: string; searchOrPasteLink: string; strikethrough: string; strong: string; subheading: string; table: string; tip: string; tipNotice: string; warning: string; warningNotice: string; }> | undefined) => { addColumnAfter: string; addColumnBefore: string; addRowAfter: string; addRowBefore: string; alignCenter: string; alignLeft: string; alignRight: string; bulletList: string; checkboxList: string; codeBlock: string; codeCopied: string; codeInline: string; createLink: string; createLinkError: string; createNewDoc: string; deleteColumn: string; deleteRow: string; deleteTable: string; deleteImage: string; downloadImage: string; replaceImage: string; alignImageLeft: string; alignImageRight: string; alignImageDefault: string; em: string; embedInvalidLink: string; findOrCreateDoc: string; h1: string; h2: string; h3: string; heading: string; hr: string; image: string; imageUploadError: string; imageCaptionPlaceholder: string; info: string; infoNotice: string; link: string; linkCopied: string; mark: string; newLineEmpty: string; newLineWithSlash: string; noResults: string; openLink: string; orderedList: string; pageBreak: string; pasteLink: string; pasteLinkWithTitle: (title: string) => string; placeholder: string; quote: string; removeLink: string; searchOrPasteLink: string; strikethrough: string; strong: string; subheading: string; table: string; tip: string; tipNotice: string; warning: string; warningNotice: string; }) & import("lodash").MemoizedFunction; render(): JSX.Element; } export default RichMarkdownEditor; //# sourceMappingURL=index.d.ts.map