import History from "quill/modules/history"; import Quill, { StringMap } from "quill"; import FormatEvent from "../../modules/format-event"; export declare type HandlerFunc = (quill: Quill, formatValue?: string) => Promise | void; export interface ComponentUpdateOptions { formats: StringMap; } export interface ComponentOptions { value: string; label: string; isDefault?: boolean; } export declare type CssStyle = Partial; export interface ComponentCreateOptions { history: History; emitter: FormatEvent; boundary: HTMLElement; data: any; } export declare abstract class AbstractComponent { abstract format: string; abstract formatVal: string | undefined; abstract options: ComponentOptions[]; abstract history: History | undefined; abstract emitter: FormatEvent | undefined; abstract currentFormats: StringMap; abstract container: HTMLElement | undefined; abstract boundary: Element | undefined; abstract create(container: HTMLElement, options: ComponentCreateOptions): void; protected abstract listen(): void; protected abstract createElement(): void; abstract update(data: ComponentUpdateOptions): void; } export interface ToolbarComponentMap { [key: string]: InstanceType; }