import { ExtractPropTypes, PropType } from 'vue'; export type TextEditorToolbarItem = 'bold' | 'italic' | 'underline' | 'strikethrough' | 'heading1' | 'heading2' | 'heading3' | 'heading4' | 'heading5' | 'heading6' | 'fontFamily' | 'fontSize' | 'textColor' | 'highlightColor' | 'bulletList' | 'orderedList' | 'checklist' | 'blockquote' | 'code' | 'codeBlock' | 'link' | 'image' | 'video' | 'table' | 'emoji' | 'specialChars' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'indent' | 'outdent' | 'lineHeight' | 'horizontalRule' | 'pageBreak' | 'footnote' | 'undo' | 'redo' | 'clear' | 'subscript' | 'superscript' | 'findReplace' | 'print' | 'fullscreen' | 'textDirection' | 'columns' | 'dropCap' | 'math' | 'fileAttach' | 'embed' | 'template' | 'toc' | 'shortcuts' | 'exportPdf' | 'exportMarkdown' | 'exportText' | 'focusMode' | 'anchor' | 'watermark' | 'caseChange' | 'formatPainter' | 'insertDateTime' | 'nonBreaking' | 'advancedList' | 'preview' | 'save' | 'visualBlocks' | 'visualChars' | 'mergeTags' | 'permanentPen' | 'comments' | 'suggestedEdits' | 'revisionHistory' | 'spellCheck' | 'a11yCheck' | 'importWord' | 'exportWord' | 'toggleBlock' | 'callout' | 'audio' | 'mermaid' | 'imageCaption' | 'imageLazyLoad' | 'paragraphSpacing' | 'smallCaps' | 'letterSpacing' | 'softHyphen' | 'paginationMode' | 'exportHtml' | 'exportEpub' | '|'; export type BeforeUploadFn = (file: File) => Promise | string; export interface MentionItem { label: string; value: string; avatar?: string; } export interface SlashCommand { label: string; description?: string; icon?: string; action: string; } export interface EditorTemplate { name: string; icon?: string; content: string; } export interface MergeTag { label: string; value: string; } export interface EditorComment { id: string; author: string; text: string; timestamp: number; resolved?: boolean; replies?: { author: string; text: string; timestamp: number; }[]; } export declare const defaultToolbar: TextEditorToolbarItem[]; export declare const textEditorProps: { readonly modelValue: { readonly type: StringConstructor; readonly default: ""; }; readonly placeholder: { readonly type: StringConstructor; readonly default: "Start writing..."; }; readonly disabled: { readonly type: BooleanConstructor; readonly default: false; }; readonly readonly: { readonly type: BooleanConstructor; readonly default: false; }; readonly toolbar: { readonly type: PropType; readonly default: () => TextEditorToolbarItem[]; }; readonly minHeight: { readonly type: StringConstructor; readonly default: "200px"; }; readonly maxHeight: { readonly type: StringConstructor; readonly default: undefined; }; readonly showCharacterCount: { readonly type: BooleanConstructor; readonly default: false; }; readonly showWordCount: { readonly type: BooleanConstructor; readonly default: false; }; readonly showReadingTime: { readonly type: BooleanConstructor; readonly default: false; }; readonly autofocus: { readonly type: BooleanConstructor; readonly default: false; }; readonly beforeUpload: { readonly type: PropType; readonly default: undefined; }; readonly accept: { readonly type: StringConstructor; readonly default: "image/*"; }; readonly maxFileSize: { readonly type: NumberConstructor; readonly default: undefined; }; readonly mentions: { readonly type: PropType; readonly default: () => never[]; }; readonly slashCommands: { readonly type: PropType; readonly default: () => never[]; }; readonly templates: { readonly type: PropType; readonly default: () => never[]; }; readonly mergeTags: { readonly type: PropType; readonly default: () => never[]; }; readonly watermarkText: { readonly type: StringConstructor; readonly default: ""; }; readonly autosave: { readonly type: BooleanConstructor; readonly default: false; }; readonly autosaveInterval: { readonly type: NumberConstructor; readonly default: 30000; }; readonly floatingToolbar: { readonly type: BooleanConstructor; readonly default: false; }; readonly markdownShortcuts: { readonly type: BooleanConstructor; readonly default: true; }; readonly autolink: { readonly type: BooleanConstructor; readonly default: true; }; readonly autocorrect: { readonly type: BooleanConstructor; readonly default: false; }; readonly smartTypography: { readonly type: BooleanConstructor; readonly default: false; }; readonly spellcheck: { readonly type: BooleanConstructor; readonly default: false; }; readonly dateTimeFormats: { readonly type: PropType; readonly default: () => string[]; }; readonly permanentPenStyle: { readonly type: PropType>; readonly default: () => { color: string; fontWeight: string; }; }; readonly paginationPageHeight: { readonly type: StringConstructor; readonly default: "1056px"; }; }; export declare const textEditorEmits: { readonly 'update:modelValue': (value: string) => boolean; readonly focus: (event: FocusEvent) => boolean; readonly blur: (event: FocusEvent) => boolean; readonly change: (value: string) => boolean; readonly uploadError: (error: Error, file: File) => boolean; readonly autosave: (value: string) => boolean; readonly mention: (item: MentionItem) => boolean; readonly save: (value: string) => boolean; readonly comment: (comment: EditorComment) => boolean; }; export type TextEditorProps = ExtractPropTypes;