import { Toolbar } from './sc-wysiwyg-types'; import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { Editor } from 'ngx-editor'; import { SCWysiwygInsertContent, SCWysiwygUrlData } from './sc-wysiwyg.model'; import { HttpClient } from '@angular/common/http'; import { SCBaseComponent, SCCoreService } from '../core'; import { DisplayByPipe } from '../pipes'; import { SCWysiwygSanitizeHtmlPipe } from '../pipes/sc-wysiwyg-sanitize-html.pipe'; import * as i0 from "@angular/core"; export declare class SCWysiwygComponent extends SCBaseComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges, OnDestroy { ngControl: NgControl; private cdr; private http; private scCoreService; private displayByPipe; private sanitizeHtmlPipe; editorRef: ElementRef; classNames: string; disabled: boolean; placeholder: string; toolbar: Toolbar; templateData: SCWysiwygInsertContent[]; placeholderData: SCWysiwygInsertContent[]; patchDefaults: boolean; minRows: number; previewContent: string; urlConfig: SCWysiwygUrlData; lastCursorPosition: EventEmitter; toolbarAction: EventEmitter<{ action: string; value?: any; }>; editor: Editor; showPreview: boolean; value: string; valueHelper: string; private schema; private plugins; private lastRange; private isInitialized; constructor(ngControl: NgControl, cdr: ChangeDetectorRef, http: HttpClient, scCoreService: SCCoreService, displayByPipe: DisplayByPipe, sanitizeHtmlPipe: SCWysiwygSanitizeHtmlPipe); private initSchema; private initPlugins; ngOnInit(): void; ngAfterViewInit(): void; ngOnChanges(change: SimpleChanges): void; ngOnDestroy(): void; /** Initialize editor instance */ initEditor(): void; /** Destroy editor instance */ destroyEditor(): void; /** * Insert teplate texts that are marked as default * * @public */ insertDefaultTemplates(): void; /** Toggle Preview Output */ togglePreview(): void; saveCursorPosition(): void; insertTextAtLastCursorPosition(text: string, lastRange?: Range): void; ngModelChangeHandler(event: any): void; /** * Process HTML content to ensure all paragraphs inside list items have margin: 0 style * * @param htmlContent The HTML content to process * @returns The processed HTML content */ private processHtmlOutput; /** * Handle FormControl OnChange * * @param {*} value */ onChange: (value: any) => void; /** * Handle FormControl OnTouched */ onTouched: () => void; /** * Write value in FormControl value variable * * @param {*} value */ writeValue(value: any): void; /** * Emit FormControl value change * * @param {boolean} [emitTouched=true] */ emitValue(emitTouched?: boolean): void; /** * Register OnChange handler for FormControl * * @param {(rating: number) => void} fn */ registerOnChange(fn: (rating: number) => void): void; /** * Register OnTouched handler for FormControl * * @param {() => void} fn */ registerOnTouched(fn: () => void): void; /** * Set disabled state for editor * * @param {boolean} isDisabled */ setDisabledState?(isDisabled: boolean): void; private updateMinHeight; private isInsideTableCell; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }