import { HtmlEditService } from '../../../services/html/htmlEditService';
import { ContentEditableElement } from '../contentEditableEditor';
export interface TextNodeAndCursorPosition {
node: Text;
cursorPosition?: number;
}
export interface ContentEditableEditorPlugin {
handleDataTransfer?: (dataTransfer: DataTransfer, editService: HtmlEditService, element: ContentEditableElement) => boolean;
populateDataTransfer?: (dataTransfer: DataTransfer, element: ContentEditableElement) => boolean;
preProcessInsertedHtml?: (dirtyHtml: string, document?: Document) => string;
postProcessInsertedHtml?: (cleanHtml: string) => string;
processText?: (container: Element, textNodeAndCursorPositions: Iterable) => void;
decorateText?: (text: string) => ReadonlyArray;
processTree?: (container: Element) => void;
}
export interface ContentEditableEditorDecoration {
index: number;
length: number;
className: string;
shouldDisableSpellcheck?: boolean;
}