import { type Completion, type CompletionSource, snippet } from '@codemirror/autocomplete'; import type { Extension } from '@codemirror/state'; import { Tag } from '@lezer/highlight'; export declare const customTags: { underline: Tag; monospace: Tag; marked: Tag; }; export type YfmNoteType = 'info' | 'tip' | 'warning' | 'alert'; export declare const yfmNoteTypes: readonly YfmNoteType[]; export declare const yfmNoteSnippetTemplate: (type: YfmNoteType) => "{% note info %}\n\n#{}\n\n{% endnote %}\n\n" | "{% note alert %}\n\n#{}\n\n{% endnote %}\n\n" | "{% note tip %}\n\n#{}\n\n{% endnote %}\n\n" | "{% note warning %}\n\n#{}\n\n{% endnote %}\n\n"; export declare const yfmNoteSnippets: Record>; export declare const yfmCutSnippetTemplate = "{% cut \"#{title}\" %}\n\n#{}\n\n{% endcut %}\n\n"; export declare const yfmCutSnippet: (editor: { state: import("@codemirror/state").EditorState; dispatch: (tr: import("@codemirror/state").Transaction) => void; }, completion: Completion | null, from: number, to: number) => void; export declare const yfmCutDirectiveSnippetTemplate = ":::cut [#{title}]\n#{}\n:::\n\n"; export declare const yfmCutDirectiveSnippet: (editor: { state: import("@codemirror/state").EditorState; dispatch: (tr: import("@codemirror/state").Transaction) => void; }, completion: Completion | null, from: number, to: number) => void; export interface LanguageData { autocomplete: CompletionSource; [key: string]: any; } export interface YfmLangOptions { languageData?: LanguageData[]; } export declare const mdAutocomplete: LanguageData; export declare function yfmLang({ languageData }?: YfmLangOptions): Extension;