import { ReactNode } from "react"; import Op from 'quill-delta/dist/Op'; import { StringMap, Sources } from 'quill'; import { QuillEditor } from "../lib/QuillEditor"; export declare type Ops = Op[]; export declare type Container = string | Element; export declare type ContentChangeHandler = (deltaOps: Ops, diffDeltaOps: Ops, htmlContent: string, source: Sources) => any; export interface IFormats { italic?: boolean; bold?: boolean; underline?: boolean; strike?: boolean; blockquote?: boolean; letterSpace?: string | number; lineHeight?: string | number; 'code-block'?: boolean; script?: 'sub' | 'super'; indent?: '-1' | '+1'; direction?: 'rtl'; header?: '1' | '2' | '3' | '4' | '5' | '6'; align?: 'right' | 'center' | 'justify'; color?: string; background?: string; fontSize?: string; fontFamily?: string; size?: string; list?: IFormatListValue; } export interface IFormatListValue { name: string; type: 'bullet' | 'ordered'; } export declare type FormatName = keyof IFormats; export declare type FormatValue = IFormats[T] | false; export interface IBaseToolProps { formatName: T; children?: ReactNode; className?: string; disabled?: boolean; defaultFormat?: FormatValue; onFormatChange?: (value: FormatValue) => void; } export interface IQuillEditorContext { quillEditor: QuillEditor; } export interface IFormatsContext { formats: IFormats; setFormats: (formats: IFormats) => void; } export interface IFormatContext { format: FormatValue; setFormat: (value: any) => void; } export interface IToolBarContext { formats: IFormats; } export interface IQuillOptions { debug?: string | boolean; modules?: StringMap; placeholder?: string; readOnly?: boolean; theme?: string; bounds?: HTMLElement | string; scrollingContainer?: HTMLElement | string; strict?: boolean; keepDeleteFormats?: boolean; }