declare const echarts: { init(element: HTMLElement, theme?: string, options?: { width: number }): IEChart; dispose(element: Element): void; getInstanceById(id: string): { resize: () => void }; }; declare const hljs: { highlight(text: string, options: { language?: string, ignoreIllegals: boolean }): { value: string }; getLanguage(text: string): { name: string }; }; interface IEChart { setOption(option: any): void; getZr(): any; on(name: string, event: (e: any) => void): any; containPixel(name: string, position: number[]): any; resize(): void; } 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; 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; renderBackslash?: ILuteRenderCallback; renderBackslashContent?: ILuteRenderCallback; } interface IBreadcrumb { id: string, name: string, type: string, subType: string, children: [] } interface ILuteOptions extends IMarkdownConfig { emojis: IObject; emojiSite: string; headingAnchor: 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 EChartsMindmapStr(text: string): string; public static NewNodeID(): string; public static Sanitize(html: string): string; public static EscapeHTMLStr(str: string): string; public static UnEscapeHTMLStr(str: string): string; public static GetHeadingID(node: ILuteNode): string; public static BlockDOM2Content(html: string): string; private constructor(); public BlockDOM2Content(text: string): string; public SetTextMark(enable: boolean): void; public SetHeadingID(enable: boolean): void; public SetProtyleMarkNetImg(enable: boolean): void; public SetSpellcheck(enable: boolean): void; public SetFileAnnotationRef(enable: boolean): void; public SetSetext(enable: boolean): void; public SetYamlFrontMatter(enable: boolean): void; public SetChineseParagraphBeginningSpace(enable: boolean): void; public SetRenderListStyle(enable: boolean): void; public SetImgPathAllowSpace(enable: boolean): void; public SetKramdownIAL(enable: boolean): void; public BlockDOM2Md(html: string): string; public BlockDOM2StdMd(html: string): string; public SetGitConflict(enable: boolean): void; public SetSuperBlock(enable: boolean): void; public SetTag(enable: boolean): void; public SetMark(enable: boolean): void; public SetSub(enable: boolean): void; public SetSup(enable: boolean): void; public SetBlockRef(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 SetIndentCodeBlock(enable: boolean): void; public SetParagraphBeginningSpace(enable: boolean): void; public SetFootnotes(enable: boolean): void; public SetLinkRef(enalbe: boolean): void; public SetEmojiSite(emojiSite: string): void; public PutEmojis(emojis: IObject): void; public SpinBlockDOM(html: string): string; public Md2BlockDOM(html: string): string; public SetProtyleWYSIWYG(wysiwyg: boolean): void; public MarkdownStr(name: string, md: string): string; public IsValidLinkDest(text: string): boolean; public BlockDOM2InlineBlockDOM(html: string): string; public BlockDOM2HTML(html: string): string; } declare const webkitAudioContext: { prototype: AudioContext new(contextOptions?: AudioContextOptions): AudioContext, }; /** @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 }; /** 上传字段名。默认值:file[] */ fieldName?: string; /** 每次上传前都会重新设置请求头 */ setHeaders?(): IObject; /** 上传成功回调 */ success?(editor: HTMLDivElement, 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; /** 对服务端返回的数据进行转换,以满足内置的数据结构 */ format?(files: File[], responseText: string): string; /** 将上传的文件处理后再返回 */ file?(files: File[]): File[]; /** 图片地址上传后的回调 */ linkToImgCallback?(responseText: string): void; } /** @link https://ld246.com/article/1549638745630#options-toolbar */ interface IMenuItem { /** 唯一标示 */ name: string; lang?: string; /** svg 图标 */ icon?: string; /** 提示 */ tip?: string; /** 快捷键 */ hotkey?: string; /** 插入编辑器中的后缀 */ tipPosition?: string; } /** @link https://ld246.com/article/1549638745630#options-preview-markdown */ interface IMarkdownConfig { /** 段落开头是否空两格。默认值: false */ paragraphBeginningSpace?: boolean; /** 是否启用过滤 XSS。默认值: true */ sanitize?: boolean; /** 为列表添加标记,以便[自定义列表样式](https://github.com/Vanessa219/vditor/issues/390) 默认值:false */ listStyle?: boolean; } /** @link https://ld246.com/article/1549638745630#options-preview */ interface IPreview { /** 预览 debounce 毫秒间隔。默认值: 1000 */ delay?: number; /** 显示模式。默认值: 'both' */ mode?: "both" | "editor"; /** md 解析请求 */ url?: string; /** @link https://ld246.com/article/1549638745630#options-preview-markdown */ markdown?: IMarkdownConfig; /** @link https://ld246.com/article/1549638745630#options-preview-actions */ actions?: Array; /** 渲染之前回调 */ transform?(html: string): string; } type IPreviewAction = "desktop" | "tablet" | "mobile" | "mp-wechat" | "zhihu" | "yuque"; interface IPreviewActionCustom { /** 键名 */ key: string; /** 按钮文本 */ text: string; /** 按钮 className 值 */ className?: string; /** 点击回调 */ click: (key: string) => void; } interface IHintData { html: string; value: string; filter?: string[] focus?: boolean } interface IHintExtend { key: string; hint?(value: string, protyle: IProtyle): IHintData[]; } /** @link https://ld246.com/article/1549638745630#options-hint */ interface IHint { /** 常用表情提示 HTML */ emojiTail?: string; /** 提示 debounce 毫秒间隔。默认值: 200 */ delay?: number; /** 默认表情,可从 [lute/emoji_map](https://github.com/88250/lute/blob/master/parse/emoji_map.go#L32) 中选取,也可自定义 */ emoji?: IObject; emojiPath?: string; extend?: IHintExtend[]; } /** @link https://ld246.com/article/1549638745630#options */ interface IOptions { backlinkData?: { blockPaths: IBreadcrumb[], dom: string expand: boolean }[], action?: string[], mode?: TEditorMode, blockId: string key?: string scrollAttr?: IScrollAttr defId?: string render?: { background?: boolean title?: boolean gutter?: boolean scroll?: boolean breadcrumb?: boolean breadcrumbDocName?: boolean } /** 内部调试时使用 */ _lutePath?: string; /** 是否显示日志。默认值: false */ debugger?: boolean; /** 是否启用打字机模式。默认值: false */ typewriterMode?: boolean; /** 多语言。默认值: 'zh_CN' */ lang?: string; /** @link https://ld246.com/article/1549638745630#options-toolbar */ toolbar?: Array; /** @link https://ld246.com/article/1549638745630#options-preview */ preview?: IPreview; /** @link https://ld246.com/article/1549638745630#options-hint */ hint?: IHint; /** @link https://ld246.com/article/1549638745630#options-upload */ upload?: IUpload; /** @link https://ld246.com/article/1549638745630#options-classes */ classes?: { preview?: string; }; /** 编辑器异步渲染完成后的回调方法 */ after?(protyle: import("../protyle").Protyle): void; } interface IProtyle { transactionTime: number, id: string, block: { id?: string, scroll?: boolean parentID?: string, parent2ID?: string, rootID?: string, showAll?: boolean mode?: number blockCount?: number action?: string[] }, disabled: boolean, selectElement?: HTMLElement, ws?:Model, notebookId?: string path?: string model?:Editor, updated: boolean; element: HTMLElement; scroll?: Scroll, gutter?:Gutter, breadcrumb?: Breadcrumb, title?: Title, background?: Background, contentElement?: HTMLElement, options: IOptions; lute?: Lute; toolbar?:Toolbar, preview?:Preview; hint?: Hint; upload?: Upload; undo?: Undo; wysiwyg?: WYSIWYG }