import { Observable } from 'rxjs'; import { SanitizeHtmlOptions } from '../../helpers/sanitizeHtml'; import { ElementSelectionService } from '../dom/elementSelectionService'; import { ElementService } from '../dom/elementService'; import { HtmlEditService } from './htmlEditService'; export declare type ElementHtmlEditServiceOptions = { sanitizeHtmlOptions?: SanitizeHtmlOptions; simplifyStylesMaxHtmlLength?: number; /** Pre-process HTML before it is inserted in the DOM. */ preProcessInsertedHtml?: (dirtyHtml: string, document?: Document) => string; /** Post-process HTML after standard processing (style inlining, etc.) and before it is inserted in the DOM. */ postProcessInsertedHtml?: (cleanHtml: string) => string; hasTableService?: boolean; hasNewDeleteSelection?: boolean; }; export declare function createElementHtmlEditService(element$: Observable, selectionService: ElementSelectionService, options?: ElementHtmlEditServiceOptions): HtmlEditService; export declare class ElementHtmlEditService extends ElementService implements HtmlEditService { constructor(element: HTMLElement, selectionService: ElementSelectionService, options?: ElementHtmlEditServiceOptions); private readonly selectionService; private readonly sanitizeHtml; private readonly preProcessInsertedHtml; private readonly postProcessInsertedHtml; private readonly simplifyStylesMaxHtmlLength; private readonly hasTableService; private readonly hasNewDeleteSelection; insertText(text: string): void; insertDirtyHtml(dirtyHtml: string): void; insertCleanHtml(html: string): void; insertDeferredCleanHtml(callback: () => Promise): Promise; private insertPlaceholder; private findPlaceholderElement; private removePlaceholder; private replacePlaceholderWithCleanHtml; deleteSelection(): void; }