| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853 | 
							- declare module "*.svg";
 
- declare module "*.png";
 
- interface Window {
 
-     VditorI18n: ITips;
 
- }
 
- interface IObject {
 
-     [key: string]: string;
 
- }
 
- interface ILuteNode {
 
-     TokensStr: () => string;
 
-     __internal_object__: {
 
-         Parent: {
 
-             Type: number,
 
-         },
 
-         HeadingLevel: string,
 
-     };
 
- }
 
- type ILuteRenderCallback = (node: ILuteNode, entering: boolean) => [string, number];
 
- /** @link https://ld246.com/article/1588412297062 */
 
- interface ILuteRender {
 
-     renderDocument?: ILuteRenderCallback;
 
-     renderParagraph?: ILuteRenderCallback;
 
-     renderText?: ILuteRenderCallback;
 
-     renderCodeBlock?: ILuteRenderCallback;
 
-     renderCodeBlockOpenMarker?: ILuteRenderCallback;
 
-     renderCodeBlockInfoMarker?: ILuteRenderCallback;
 
-     renderCodeBlockCode?: ILuteRenderCallback;
 
-     renderCodeBlockCloseMarker?: ILuteRenderCallback;
 
-     renderMathBlock?: ILuteRenderCallback;
 
-     renderMathBlockOpenMarker?: ILuteRenderCallback;
 
-     renderMathBlockContent?: ILuteRenderCallback;
 
-     renderMathBlockCloseMarker?: ILuteRenderCallback;
 
-     renderBlockquote?: ILuteRenderCallback;
 
-     renderBlockquoteMarker?: ILuteRenderCallback;
 
-     renderHeading?: ILuteRenderCallback;
 
-     renderHeadingC8hMarker?: ILuteRenderCallback;
 
-     renderList?: ILuteRenderCallback;
 
-     renderListItem?: ILuteRenderCallback;
 
-     renderTaskListItemMarker?: ILuteRenderCallback;
 
-     renderThematicBreak?: ILuteRenderCallback;
 
-     renderHTML?: ILuteRenderCallback;
 
-     renderTable?: ILuteRenderCallback;
 
-     renderTableHead?: ILuteRenderCallback;
 
-     renderTableRow?: ILuteRenderCallback;
 
-     renderTableCell?: ILuteRenderCallback;
 
-     renderFootnotesDef?: ILuteRenderCallback;
 
-     renderCodeSpan?: ILuteRenderCallback;
 
-     renderCodeSpanOpenMarker?: ILuteRenderCallback;
 
-     renderCodeSpanContent?: ILuteRenderCallback;
 
-     renderCodeSpanCloseMarker?: ILuteRenderCallback;
 
-     renderInlineMath?: ILuteRenderCallback;
 
-     renderInlineMathOpenMarker?: ILuteRenderCallback;
 
-     renderInlineMathContent?: ILuteRenderCallback;
 
-     renderInlineMathCloseMarker?: ILuteRenderCallback;
 
-     renderEmphasis?: ILuteRenderCallback;
 
-     renderEmAsteriskOpenMarker?: ILuteRenderCallback;
 
-     renderEmAsteriskCloseMarker?: ILuteRenderCallback;
 
-     renderEmUnderscoreOpenMarker?: ILuteRenderCallback;
 
-     renderEmUnderscoreCloseMarker?: ILuteRenderCallback;
 
-     renderStrong?: ILuteRenderCallback;
 
-     renderStrongA6kOpenMarker?: ILuteRenderCallback;
 
-     renderStrongA6kCloseMarker?: ILuteRenderCallback;
 
-     renderStrongU8eOpenMarker?: ILuteRenderCallback;
 
-     renderStrongU8eCloseMarker?: ILuteRenderCallback;
 
-     renderStrikethrough?: ILuteRenderCallback;
 
-     renderStrikethrough1OpenMarker?: ILuteRenderCallback;
 
-     renderStrikethrough1CloseMarker?: ILuteRenderCallback;
 
-     renderStrikethrough2OpenMarker?: ILuteRenderCallback;
 
-     renderStrikethrough2CloseMarker?: ILuteRenderCallback;
 
-     renderHardBreak?: ILuteRenderCallback;
 
-     renderSoftBreak?: ILuteRenderCallback;
 
-     renderInlineHTML?: ILuteRenderCallback;
 
-     renderLink?: ILuteRenderCallback;
 
-     renderOpenBracket?: ILuteRenderCallback;
 
-     renderCloseBracket?: ILuteRenderCallback;
 
-     renderOpenParen?: ILuteRenderCallback;
 
-     renderCloseParen?: ILuteRenderCallback;
 
-     renderLinkText?: ILuteRenderCallback;
 
-     renderLinkSpace?: ILuteRenderCallback;
 
-     renderLinkDest?: ILuteRenderCallback;
 
-     renderLinkTitle?: ILuteRenderCallback;
 
-     renderImage?: ILuteRenderCallback;
 
-     renderBang?: ILuteRenderCallback;
 
-     renderEmoji?: ILuteRenderCallback;
 
-     renderEmojiUnicode?: ILuteRenderCallback;
 
-     renderEmojiImg?: ILuteRenderCallback;
 
-     renderEmojiAlias?: ILuteRenderCallback;
 
-     renderToC?: ILuteRenderCallback;
 
-     renderFootnotesRef?: ILuteRenderCallback;
 
-     renderBackslash?: ILuteRenderCallback;
 
-     renderBackslashContent?: ILuteRenderCallback;
 
- }
 
- interface ILuteOptions extends IMarkdownConfig {
 
-     emojis: IObject;
 
-     emojiSite: string;
 
-     headingAnchor: boolean;
 
-     inlineMathDigit: boolean;
 
-     lazyLoadImage?: string;
 
- }
 
- declare class Lute {
 
-     public static WalkStop: number;
 
-     public static WalkSkipChildren: number;
 
-     public static WalkContinue: number;
 
-     public static Version: string;
 
-     public static Caret: string;
 
-     public static New(): Lute;
 
-     public static EscapeHTMLStr(html: string): string;
 
-     public static GetHeadingID(node: ILuteNode): string;
 
-     public static NewNodeID(): string;
 
-     public static Sanitize(html: string): string;
 
-     private constructor();
 
-     public SetJSRenderers(options?: {
 
-         renderers: {
 
-             HTML2VditorDOM?: ILuteRender,
 
-             HTML2VditorIRDOM?: ILuteRender,
 
-             HTML2Md?: ILuteRender,
 
-             Md2HTML?: ILuteRender,
 
-             Md2VditorDOM?: ILuteRender,
 
-             Md2VditorIRDOM?: ILuteRender,
 
-             Md2VditorSVDOM?: ILuteRender,
 
-         },
 
-     }): void;
 
-     public SetChineseParagraphBeginningSpace(enable: boolean): void;
 
-     public SetHeadingID(enable: boolean): void;
 
-     public SetRenderListStyle(enable: boolean): void;
 
-     public SetLinkBase(url: string): void;
 
-     public SetVditorIR(enable: boolean): void;
 
-     public SetVditorSV(enable: boolean): void;
 
-     public SetVditorWYSIWYG(enable: boolean): void;
 
-     public SetLinkPrefix(url: string): void;
 
-     public SetMark(enable: boolean): void;
 
-     public SetGFMAutoLink(enable: boolean): void;
 
-     public SetSanitize(enable: boolean): void;
 
-     public SetHeadingAnchor(enable: boolean): void;
 
-     public SetImageLazyLoading(imagePath: string): void;
 
-     public SetInlineMathAllowDigitAfterOpenMarker(enable: boolean): void;
 
-     public SetToC(enable: boolean): void;
 
-     public SetFootnotes(enable: boolean): void;
 
-     public SetAutoSpace(enable: boolean): void;
 
-     public SetFixTermTypo(enable: boolean): void;
 
-     public SetEmojiSite(emojiSite: string): void;
 
-     public SetVditorCodeBlockPreview(enable: boolean): void;
 
-     public SetVditorMathBlockPreview(enable: boolean): void;
 
-     public PutEmojis(emojis: IObject): void;
 
-     public GetEmojis(): IObject;
 
-     public IsValidLinkDest(link: string): boolean;
 
-     // debugger md
 
-     public RenderEChartsJSON(text: string): string;
 
-     // md 转换为 html
 
-     public Md2HTML(markdown: string): string;
 
-     // 粘贴时将 html 转换为 md
 
-     public HTML2Md(html: string): string;
 
-     // wysiwyg 转换为 html
 
-     public VditorDOM2HTML(vhtml: string): string;
 
-     // wysiwyg 输入渲染
 
-     public SpinVditorDOM(html: string): string;
 
-     // 粘贴时将 html 转换为 wysiwyg
 
-     public HTML2VditorDOM(html: string): string;
 
-     // 将 wysiwyg 转换为 md
 
-     public VditorDOM2Md(html: string): string;
 
-     // 将 md 转换为 wysiwyg
 
-     public Md2VditorDOM(markdown: string): string;
 
-     // ir 输入渲染
 
-     public SpinVditorIRDOM(markdown: string): string;
 
-     // ir 获取 md
 
-     public VditorIRDOM2Md(html: string): string;
 
-     // md 转换为 ir
 
-     public Md2VditorIRDOM(text: string): string;
 
-     // 获取 HTML
 
-     public VditorIRDOM2HTML(html: string): string;
 
-     // 粘贴时将 html 转换为 sv
 
-     public HTML2VditorIRDOM(html: string): string;
 
-     // sv 输入渲染
 
-     public SpinVditorSVDOM(text: string): string;
 
-     // 粘贴是 md 转换为 sv
 
-     public Md2VditorSVDOM(text: string): string;
 
-     // 将markdown转化为JSON结构输出 https://github.com/88250/lute/issues/120
 
-     public RenderJSON(markdown: string): string;
 
- }
 
- declare const webkitAudioContext: {
 
-     prototype: AudioContext
 
-     new(contextOptions?: AudioContextOptions): AudioContext,
 
- };
 
- interface ITips {
 
-     [index: string]: string;
 
-     alignCenter: string;
 
-     alignLeft: string;
 
-     alignRight: string;
 
-     alternateText: string;
 
-     bold: string;
 
-     both: string;
 
-     check: string;
 
-     close: string;
 
-     code: string;
 
-     "code-theme": string;
 
-     column: string;
 
-     comment: string;
 
-     confirm: string;
 
-     "content-theme": string;
 
-     copied: string;
 
-     copy: string;
 
-     "delete-column": string;
 
-     "delete-row": string;
 
-     devtools: string;
 
-     down: string;
 
-     downloadTip: string;
 
-     edit: string;
 
-     "edit-mode": string;
 
-     emoji: string;
 
-     export: string;
 
-     fileTypeError: string;
 
-     footnoteRef: string;
 
-     fullscreen: string;
 
-     generate: string;
 
-     headings: string;
 
-     help: string;
 
-     imageURL: string;
 
-     indent: string;
 
-     info: string;
 
-     "inline-code": string;
 
-     "insert-after": string;
 
-     "insert-before": string;
 
-     insertColumnLeft: string;
 
-     insertColumnRight: string;
 
-     insertRowAbove: string;
 
-     insertRowBelow: string;
 
-     instantRendering: string;
 
-     italic: string;
 
-     language: string;
 
-     line: string;
 
-     link: string;
 
-     linkRef: string;
 
-     list: string;
 
-     more: string;
 
-     nameEmpty: string;
 
-     "ordered-list": string;
 
-     outdent: string;
 
-     outline: string;
 
-     over: string;
 
-     performanceTip: string;
 
-     preview: string;
 
-     quote: string;
 
-     record: string;
 
-     "record-tip": string;
 
-     recording: string;
 
-     redo: string;
 
-     remove: string;
 
-     row: string;
 
-     spin: string;
 
-     splitView: string;
 
-     strike: string;
 
-     table: string;
 
-     textIsNotEmpty: string;
 
-     title: string;
 
-     tooltipText: string;
 
-     undo: string;
 
-     up: string;
 
-     update: string;
 
-     upload: string;
 
-     uploadError: string;
 
-     uploading: string;
 
-     wysiwyg: string;
 
- }
 
- interface II18n {
 
-     en_US: ITips;
 
-     fr_FR: ITips;
 
-     ja_JP: ITips;
 
-     ko_KR: ITips;
 
-     ru_RU: ITips;
 
-     sv_SE: ITips;
 
-     zh_CN: ITips;
 
-     zh_TW: ITips;
 
-     pt_BR: ITips;
 
- }
 
- interface IClasses {
 
-     preview?: string;
 
- }
 
- interface IPreviewTheme {
 
-     current: string;
 
-     list?: IObject;
 
-     path?: string;
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-upload */
 
- interface IUpload {
 
-     /** 上传 url */
 
-     url?: string;
 
-     /** 上传文件最大 Byte */
 
-     max?: number;
 
-     /** 剪切板中包含图片地址时,使用此 url 重新上传 */
 
-     linkToImgUrl?: string;
 
-     /** CORS 上传验证,头为 X-Upload-Token */
 
-     token?: string;
 
-     /** 文件上传类型,同 [input accept](https://www.w3schools.com/tags/att_input_accept.asp) */
 
-     accept?: string;
 
-     /** 跨站点访问控制。默认值: false */
 
-     withCredentials?: boolean;
 
-     /** 请求头设置 */
 
-     headers?: IObject;
 
-     /** 额外请求参数 */
 
-     extraData?: { [key: string]: string | Blob };
 
-     /** 是否允许多文件上传。默认值:true */
 
-     multiple?: boolean;
 
-     /** 上传字段名。默认值:file[] */
 
-     fieldName?: string;
 
-     /** 每次上传前都会重新设置请求头 */
 
-     setHeaders?(): IObject;
 
-     /** 上传成功回调 */
 
-     success?(editor: HTMLPreElement, msg: string): void;
 
-     /** 上传失败回调 */
 
-     error?(msg: string): void;
 
-     /** 文件名安全处理。 默认值: name => name.replace(/\W/g, '') */
 
-     filename?(name: string): string;
 
-     /** 校验,成功时返回 true 否则返回错误信息 */
 
-     validate?(files: File[]): string | boolean;
 
-     /** 自定义上传,当发生错误时返回错误信息 */
 
-     handler?(files: File[]): string | null | Promise<string> | Promise<null>;
 
-     /** 对服务端返回的数据进行转换,以满足内置的数据结构 */
 
-     format?(files: File[], responseText: string): string;
 
-     /** 对服务端返回的数据进行转换(对应linkToImgUrl),以满足内置的数据结构 */
 
-     linkToImgFormat?(responseText: string): string;
 
-     /** 将上传的文件处理后再返回  */
 
-     file?(files: File[]): File[] | Promise<File[]>;
 
-     /** 图片地址上传后的回调  */
 
-     linkToImgCallback?(responseText: string): void;
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-toolbar */
 
- interface IMenuItem {
 
-     /** 唯一标示 */
 
-     name: string;
 
-     /** svg 图标 HTML */
 
-     icon?: string;
 
-     /** 元素的样式名称 */
 
-     className?: string;
 
-     /** 提示 */
 
-     tip?: string;
 
-     /** 快捷键,支持⌘/ctrl-key 或 ⌘/ctrl-⇧/shift-key 格式的配置,不支持 wysiwyg 模式 */
 
-     hotkey?: string;
 
-     /** 插入编辑器中的后缀 */
 
-     suffix?: string;
 
-     /** 插入编辑器中的前缀 */
 
-     prefix?: string;
 
-     /** 提示位置:ne, nw */
 
-     tipPosition?: string;
 
-     /** 子菜单 */
 
-     toolbar?: Array<string | IMenuItem>;
 
-     /** 菜单层级,最大为 3,内部使用 */
 
-     level?: number;
 
-     /** 自定义按钮点击时触发的事件 */
 
-     click?(event: Event, vditor: IVditor): void;
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-preview-hljs */
 
- interface IHljs {
 
-     /** 代码块没有指定语言时,使用此值。默认值: "" */
 
-     defaultLang?: string;
 
-     /** 是否启用行号。默认值: false */
 
-     lineNumber?: boolean;
 
-     /** 代码风格,可选值参见 [Chroma](https://xyproto.github.io/splash/docs/longer/all.html)。 默认值: 'github' */
 
-     style?: string;
 
-     /** 是否启用代码高亮。默认值: true */
 
-     enable?: boolean;
 
-     /** 自定义指定语言: CODE_LANGUAGES */
 
-     langs?: string[];
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-preview-math */
 
- interface IMath {
 
-     /** 内联数学公式起始 $ 后是否允许数字。默认值: false */
 
-     inlineDigit?: boolean;
 
-     /** 使用 MathJax 渲染时传入的宏定义。默认值: {} */
 
-     macros?: object;
 
-     /** 数学公式渲染引擎。默认值: 'KaTeX' */
 
-     engine?: "KaTeX" | "MathJax";
 
-     /** 数学公式渲染引擎为 MathJax 时传入的参数 */
 
-     mathJaxOptions?: any;
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-preview-markdown */
 
- interface IMarkdownConfig {
 
-     /** 自动空格。默认值: false */
 
-     autoSpace?: boolean;
 
-     /** 段落开头是否空两格。默认值: false */
 
-     paragraphBeginningSpace?: boolean;
 
-     /** 自动矫正术语。默认值: false */
 
-     fixTermTypo?: boolean;
 
-     /** 插入目录。默认值: false */
 
-     toc?: boolean;
 
-     /** 脚注。默认值: true */
 
-     footnotes?: boolean;
 
-     /** wysiwyg & ir 模式代码块是否渲染。默认值: true */
 
-     codeBlockPreview?: boolean;
 
-     /** wysiwyg & ir 模式数学公式块是否渲染。默认值: true */
 
-     mathBlockPreview?: boolean;
 
-     /** 是否启用过滤 XSS。默认值: true */
 
-     sanitize?: boolean;
 
-     /** 链接相对路径前缀。默认值:'' */
 
-     linkBase?: string;
 
-     /** 链接强制前缀。默认值:'' */
 
-     linkPrefix?: string;
 
-     /** 为列表添加标记,以便[自定义列表样式](https://github.com/Vanessa219/vditor/issues/390) 默认值:false */
 
-     listStyle?: boolean;
 
-     /** 支持 mark 标记 */
 
-     mark?: boolean;
 
-     /** 支持自动链接 */
 
-     gfmAutoLink?: boolean;
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-preview */
 
- interface IPreview {
 
-     /** 预览 debounce 毫秒间隔。默认值: 1000 */
 
-     delay?: number;
 
-     /** 预览区域最大宽度。默认值: 768 */
 
-     maxWidth?: number;
 
-     /** 显示模式。默认值: 'both' */
 
-     mode?: "both" | "editor";
 
-     /** md 解析请求 */
 
-     url?: string;
 
-     /** @link https://ld246.com/article/1549638745630#options-preview-hljs */
 
-     hljs?: IHljs;
 
-     /** @link https://ld246.com/article/1549638745630#options-preview-math */
 
-     math?: IMath;
 
-     /** @link https://ld246.com/article/1549638745630#options-preview-markdown */
 
-     markdown?: IMarkdownConfig;
 
-     /** @link https://ld246.com/article/1549638745630#options-preview-theme */
 
-     theme?: IPreviewTheme;
 
-     /** @link https://ld246.com/article/1549638745630#options-preview-actions  */
 
-     actions?: Array<IPreviewAction | IPreviewActionCustom>;
 
-     /** 预览回调 */
 
-     parse?(element: HTMLElement): void;
 
-     /** 渲染之前回调 */
 
-     transform?(html: string): string;
 
- }
 
- type IPreviewAction = "desktop" | "tablet" | "mobile" | "mp-wechat" | "zhihu";
 
- interface IPreviewActionCustom {
 
-     /** 键名 */
 
-     key: string;
 
-     /** 按钮文本 */
 
-     text: string;
 
-     /** 按钮 className 值 */
 
-     className?: string;
 
-     /** 按钮提示信息 */
 
-     tooltip?: string;
 
-     /** 点击回调 */
 
-     click: (key: string) => void;
 
- }
 
- interface IPreviewOptions {
 
-     mode: "dark" | "light";
 
-     customEmoji?: IObject;
 
-     lang?: (keyof II18n);
 
-     i18n?: ITips;
 
-     lazyLoadImage?: string;
 
-     emojiPath?: string;
 
-     hljs?: IHljs;
 
-     speech?: {
 
-         enable?: boolean,
 
-     };
 
-     anchor?: number; // 0: no render, 1: render left, 2: render right
 
-     math?: IMath;
 
-     cdn?: string;
 
-     markdown?: IMarkdownConfig;
 
-     renderers?: ILuteRender;
 
-     theme?: IPreviewTheme;
 
-     icon?: "ant" | "material" | undefined;
 
-     transform?(html: string): string;
 
-     after?(): void;
 
- }
 
- interface IHintData {
 
-     html: string;
 
-     value: string;
 
- }
 
- interface IHintExtend {
 
-     key: string;
 
-     hint?(value: string): IHintData[] | Promise<IHintData[]>;
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-hint */
 
- interface IHint {
 
-     /** 提示内容是否进行 md 解析 */
 
-     parse?: boolean;
 
-     /** 常用表情提示 HTML */
 
-     emojiTail?: string;
 
-     /** 提示 debounce 毫秒间隔。默认值: 200 */
 
-     delay?: number;
 
-     /** 默认表情,可从 [lute/emoji_map](https://github.com/88250/lute/blob/master/parse/emoji_map.go#L32) 中选取,也可自定义 */
 
-     emoji?: IObject;
 
-     /** 表情图片地址。默认值: 'https://unpkg.com/vditor@${VDITOR_VERSION}/dist/images/emoji' */
 
-     emojiPath?: string;
 
-     extend?: IHintExtend[];
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-toolbarConfig */
 
- interface IToolbarConfig {
 
-     /** 是否隐藏工具栏。默认值: false */
 
-     hide?: boolean;
 
-     /** 是否固定工具栏。默认值: false */
 
-     pin?: boolean;
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-comment */
 
- interface IComment {
 
-     /** 是否启用评论模式。默认值: false */
 
-     enable: boolean;
 
-     /** 添加评论回调 */
 
-     add?(id: string, text: string, commentsData: ICommentsData[]): void;
 
-     /** 删除评论回调 */
 
-     remove?(ids: string[]): void;
 
-     /** 滚动回调 */
 
-     scroll?(top: number): void;
 
-     /** 文档修改时,适配评论高度 */
 
-     adjustTop?(commentsData: ICommentsData[]): void;
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options-outline */
 
- interface IOutline {
 
-     /** 初始化是否展现大纲。默认值: false */
 
-     enable: boolean;
 
-     /** 大纲位置:'left', 'right'。默认值: 'left' */
 
-     position: "left" | "right";
 
- }
 
- interface IResize {
 
-     position?: string;
 
-     enable?: boolean;
 
-     after?(height: number): void;
 
- }
 
- /** @link https://ld246.com/article/1549638745630#options */
 
- interface IOptions {
 
-     /** RTL */
 
-     rtl?: boolean;
 
-     /** 历史记录间隔 */
 
-     undoDelay?: number;
 
-     /** 内部调试时使用 */
 
-     _lutePath?: string;
 
-     /** 编辑器初始化值。默认值: '' */
 
-     value?: string;
 
-     /** 是否显示日志。默认值: false */
 
-     debugger?: boolean;
 
-     /** 是否启用打字机模式。默认值: false */
 
-     typewriterMode?: boolean;
 
-     /** 编辑器总高度。默认值: 'auto' */
 
-     height?: number | string;
 
-     /** 编辑器最小高度 */
 
-     minHeight?: number;
 
-     /** 编辑器总宽度,支持 %。默认值: 'auto' */
 
-     width?: number | string;
 
-     /** 输入区域为空时的提示。默认值: '' */
 
-     placeholder?: string;
 
-     /** 多语言。默认值: 'zh_CN' */
 
-     lang?: (keyof II18n);
 
-     /** 国际化, 自定义语言。优先级低于lang */
 
-     i18n?: ITips;
 
-     /** @link https://ld246.com/article/1549638745630#options-fullscreen */
 
-     fullscreen?: {
 
-         /** 全屏层级。默认值: 90 */
 
-         index: number;
 
-     };
 
-     /** @link https://ld246.com/article/1549638745630#options-toolbar */
 
-     toolbar?: Array<string | IMenuItem>;
 
-     /** @link https://ld246.com/article/1549638745630#options-resize */
 
-     resize?: IResize;
 
-     /** @link https://ld246.com/article/1549638745630#options-counter */
 
-     counter?: {
 
-         /** 是否启用计数器。默认值: false */
 
-         enable: boolean;
 
-         /** 允许输入的最大值 */
 
-         max?: number;
 
-         /** 统计类型。默认值: 'markdown' */
 
-         type?: "markdown" | "text";
 
-         /** 字数统计回调。 */
 
-         after?(length: number, counter: {
 
-             /** 是否启用计数器。默认值: false */
 
-             enable: boolean;
 
-             /** 允许输入的最大值 */
 
-             max?: number;
 
-             /** 统计类型。默认值: 'markdown' */
 
-             type?: "markdown" | "text"
 
-         }): void
 
-     };
 
-     /** @link https://ld246.com/article/1549638745630#options-cache */
 
-     cache?: {
 
-         /** 缓存 key,第一个参数为元素且启用缓存时必填 */
 
-         id?: string;
 
-         /** 是否使用 localStorage 进行缓存。默认值: true */
 
-         enable?: boolean;
 
-         /** 缓存后的回调 */
 
-         after?(markdown: string): void;
 
-     };
 
-     /** 编辑模式。默认值: 'wysiwyg'
 
-      *
 
-      * wysiwyg: 所见即所得
 
-      *
 
-      * ir: 即时渲染
 
-      *
 
-      * sv: 分屏预览
 
-      */
 
-     mode?: "wysiwyg" | "sv" | "ir";
 
-     /** @link https://ld246.com/article/1549638745630#options-preview */
 
-     preview?: IPreview;
 
-     /** @link https://ld246.com/article/1549638745630#options-link */
 
-     link?: {
 
-         /** 是否打开链接地址。默认值: true */
 
-         isOpen?: boolean;
 
-         /** 点击链接事件 */
 
-         click?: (bom: Element) => void;
 
-     },
 
-     /** @link https://ld246.com/article/1549638745630#options-image */
 
-     image?: {
 
-         /** 是否预览图片。默认值: true */
 
-         isPreview?: boolean;
 
-         /** 图片预览处理 */
 
-         preview?: (bom: Element) => void;
 
-     },
 
-     /** @link https://ld246.com/article/1549638745630#options-hint */
 
-     hint?: IHint;
 
-     /** @link https://ld246.com/article/1549638745630#options-toolbarConfig */
 
-     toolbarConfig?: IToolbarConfig;
 
-     /** 评论
 
-      * @link https://ld246.com/article/1549638745630#options-comment
 
-      */
 
-     comment?: IComment;
 
-     /** 主题。默认值: 'classic' */
 
-     theme?: "classic" | "dark";
 
-     /** 图标。默认值: 'ant' */
 
-     icon?: "ant" | "material";
 
-     /** @link https://ld246.com/article/1549638745630#options-upload */
 
-     upload?: IUpload;
 
-     /** @link https://ld246.com/article/1549638745630#options-classes */
 
-     classes?: IClasses;
 
-     /** 配置自建 CDN 地址。默认值: 'https://unpkg.com/vditor@${VDITOR_VERSION}' */
 
-     cdn?: string;
 
-     /** tab 键操作字符串,支持 \t 及任意字符串 */
 
-     tab?: string;
 
-     /** @link https://ld246.com/article/1549638745630#options-outline */
 
-     outline?: IOutline;
 
-     /** 编辑器异步渲染完成后的回调方法 */
 
-     after?(): void;
 
-     /** 输入后触发 */
 
-     input?(value: string): void;
 
-     /** 聚焦后触发  */
 
-     focus?(value: string): void;
 
-     /** 失焦后触发 */
 
-     blur?(value: string): void;
 
-     /** 按下键盘触发 */
 
-     keydown?(event: KeyboardEvent): void;
 
-     /** `esc` 按下后触发 */
 
-     esc?(value: string): void;
 
-     /** `⌘/ctrl+enter` 按下后触发 */
 
-     ctrlEnter?(value: string): void;
 
-     /** 编辑器中选中文字后触发 */
 
-     select?(value: string): void;
 
- }
 
- interface IEChart {
 
-     setOption(option: any): void;
 
-     resize(): void;
 
- }
 
- interface IVditor {
 
-     element: HTMLElement;
 
-     options: IOptions;
 
-     originalInnerHTML: string;
 
-     lute: Lute;
 
-     currentMode: "sv" | "wysiwyg" | "ir";
 
-     devtools?: {
 
-         element: HTMLDivElement,
 
-         renderEchart(vditor: IVditor): void,
 
-     };
 
-     outline: {
 
-         element: HTMLElement,
 
-         render(vditor: IVditor): string,
 
-         toggle(vditor: IVditor, show?: boolean, focus?: boolean): void,
 
-     };
 
-     toolbar?: {
 
-         elements?: { [key: string]: HTMLElement },
 
-         element?: HTMLElement,
 
-     };
 
-     preview?: {
 
-         element: HTMLElement,
 
-         actionElement?: HTMLElement,
 
-         previewElement: HTMLElement,
 
-         render(vditor: IVditor, value?: string): void,
 
-     };
 
-     counter?: {
 
-         element: HTMLElement
 
-         render(vditor: IVditor, mdText?: string): void,
 
-     };
 
-     resize?: {
 
-         element: HTMLElement,
 
-     };
 
-     hint: {
 
-         timeId: number
 
-         element: HTMLDivElement
 
-         recentLanguage: string
 
-         fillEmoji(element: HTMLElement, vditor: IVditor): void
 
-         render(vditor: IVditor): void,
 
-         genHTML(data: IHintData[], key: string, vditor: IVditor): void
 
-         select(event: KeyboardEvent, vditor: IVditor): boolean,
 
-     };
 
-     tip: {
 
-         element: HTMLElement
 
-         show(text: string, time?: number): void
 
-         hide(): void,
 
-     };
 
-     upload?: {
 
-         element: HTMLElement
 
-         isUploading: boolean
 
-         range: Range,
 
-     };
 
-     undo?: {
 
-         clearStack(vditor: IVditor): void,
 
-         redo(vditor: IVditor): void
 
-         undo(vditor: IVditor): void
 
-         addToUndoStack(vditor: IVditor): void
 
-         recordFirstPosition(vditor: IVditor, event: KeyboardEvent): void,
 
-         resetIcon(vditor: IVditor): void,
 
-     };
 
-     wysiwyg?: {
 
-         range: Range,
 
-         element: HTMLPreElement,
 
-         selectPopover: HTMLDivElement,
 
-         popover: HTMLDivElement,
 
-         afterRenderTimeoutId: number,
 
-         hlToolbarTimeoutId: number,
 
-         preventInput: boolean,
 
-         composingLock: boolean,
 
-         commentIds: string[]
 
-         getComments(vditor: IVditor, getData?: boolean): ICommentsData[],
 
-         triggerRemoveComment(vditor: IVditor): void,
 
-         showComment(): void,
 
-         hideComment(): void,
 
-         unbindListener(): void,
 
-     };
 
-     ir?: {
 
-         range: Range,
 
-         element: HTMLPreElement,
 
-         composingLock: boolean,
 
-         preventInput: boolean,
 
-         processTimeoutId: number,
 
-         hlToolbarTimeoutId: number,
 
-     };
 
-     sv?: {
 
-         range: Range,
 
-         element: HTMLPreElement,
 
-         processTimeoutId: number,
 
-         hlToolbarTimeoutId: number,
 
-         composingLock: boolean,
 
-         preventInput: boolean,
 
-     };
 
- }
 
- interface ICommentsData {
 
-     id: string;
 
-     top: number;
 
- }
 
 
  |