import { Observable } from 'rxjs'; import { MutationFrame } from '../../helpers/fromMutations'; import { SanitizeHtmlOptions } from '../../helpers/sanitizeHtml'; import { ElementService } from '../dom/elementService'; import { HtmlService, MemoryHtmlService } from './htmlService'; export declare type ElementHtmlServiceOptions = { sanitizeHtmlOptions?: SanitizeHtmlOptions; /** Perform initial processing when the element is initialized. */ processElement?: (element: HTMLElement) => void; /** Perform incremental processing after the element's DOM was mutated. */ performCascadingMutations?: (element: HTMLElement, frame: MutationFrame) => void; /** Filter DOM mutation records to reduce processing and change notifications. */ filterMutationRecord?: (record: MutationRecord) => boolean; /** Replacement for legacy simplifyStyles behavior. */ didSetHtml?: (element: HTMLElement, htmlLength: number) => void; }; export declare function createElementHtmlService(element$: Observable, options?: ElementHtmlServiceOptions): HtmlService; interface ProcessedHtmlService extends HtmlService { readonly unprocessedHtml: string; } export declare class ElementHtmlService extends ElementService implements ProcessedHtmlService { constructor(element: HTMLElement, options?: ElementHtmlServiceOptions); private readonly sanitizeHtml; private readonly didSetHtml; get html(): string; /** Sanitized, but potentially denormalized HTML. */ get unprocessedHtml(): string; setDirtyHtml(html: string): void; setCleanHtml(html: string): void; } export declare class DetachedElementHtmlService extends MemoryHtmlService implements ProcessedHtmlService { constructor(options?: ElementHtmlServiceOptions); private readonly processHtml; get html(): string; /** Sanitized, but potentially denormalized HTML. */ get unprocessedHtml(): string; } export {};