import { Block, SylApi } from '@syllepsis/adapter'; import { Node as ProseMirrorNode } from 'prosemirror-model'; import { EditorState, Transaction } from 'prosemirror-state'; import { EditorView } from 'prosemirror-view'; import { CodeBlockView } from './view'; declare class CodeBlock extends Block { name: string; tagName: () => string; code: boolean; notLastLine: boolean; marks: string; attrs: { language: { default: string; }; }; textMatcher: ({ matcher: RegExp; handler(match: RegExpExecArray): { language: string; }; timing?: undefined; } | { matcher: RegExp; timing: string; handler(match: RegExpExecArray): { language: string; }; })[]; content: string; parseDOM: ({ tag: string; preserveWhitespace: "full"; getAttrs: (dom: HTMLPreElement) => { language: string; }; } | { tag: string; preserveWhitespace: "full"; getAttrs: (dom: HTMLElement) => false | { language: string; }; })[]; defining: boolean; static keymap: { ArrowLeft: (editor: SylApi, state: EditorState, dispatch: (tr: Transaction) => void, view: EditorView) => boolean; ArrowRight: (editor: SylApi, state: EditorState, dispatch: (tr: Transaction) => void, view: EditorView) => boolean; ArrowUp: (editor: SylApi, state: EditorState, dispatch: (tr: Transaction) => void, view: EditorView) => boolean; ArrowDown: (editor: SylApi, state: EditorState, dispatch: (tr: Transaction) => void, view: EditorView) => boolean; }; NodeView: typeof CodeBlockView; toDOM: (node: ProseMirrorNode) => any; } export { CodeBlock };