import type { EditorToolbarItem } from './toolbar'; export type ToolbarMode = 'slash' | 'header'; export type ToolbarPosition = 'top' | 'bottom'; export type ContentTransform = (value: string) => string; export type ImageUploadHandler = (file: File) => Promise; export type QxsBlocksuiteEditorHeaderToolbarLabelKey = 'bold' | 'italic' | 'underline' | 'strike' | 'code' | 'link' | 'image' | 'bulletList' | 'orderedList' | 'taskList' | 'blockquote' | 'table'; export type QxsBlocksuiteEditorHeaderToolbarLabels = Partial>; export type QxsBlocksuiteEditorToolbarPreset = 'full' | 'simple' | 'none'; export type QxsBlocksuiteEditorContentFormat = 'html' | 'markdown' | 'custom'; export interface QxsBlocksuiteEditorContentSnapshot { value: string; html: string; text: string; format: QxsBlocksuiteEditorContentFormat; } export interface QxsBlocksuiteEditorImageUploadErrorDetail { file: File; error: Error; } export interface QxsBlocksuiteEditorHostAttributes { content?: string; 'model-value'?: string; placeholder?: string; 'toolbar-mode'?: ToolbarMode; toolbar?: string | EditorToolbarItem[]; 'toolbar-preset'?: QxsBlocksuiteEditorToolbarPreset; 'header-toolbar-labels'?: string | QxsBlocksuiteEditorHeaderToolbarLabels; 'header-always-visible'?: boolean | 'true' | 'false'; 'use-model'?: boolean | 'true' | 'false'; readonly?: boolean | 'true' | 'false'; preview?: boolean | 'true' | 'false'; editable?: boolean | 'true' | 'false'; 'min-height'?: string; 'max-height'?: string; 'show-character-count'?: boolean | 'true' | 'false'; 'toolbar-position'?: ToolbarPosition; 'custom-styles'?: string; 'content-format'?: QxsBlocksuiteEditorContentFormat; 'deserialize-content'?: ContentTransform; 'serialize-content'?: ContentTransform; 'upload-image'?: ImageUploadHandler; }