import { EventEmitter, OnInit, OnDestroy, QueryList, OnChanges, SimpleChanges } from '@angular/core';
import { ControlValueAccessor, FormControl, NgControl } from '@angular/forms';
import { UxFormGroupComponent } from '@eui/components';
import { QuillModules, CustomOption } from '@eui/externals/quill';
import * as i0 from "@angular/core";
import * as i1 from "./ux-editor-view.component";
import * as i2 from "./ux-editor-view-html.component";
import * as i3 from "./ux-editor-counters.component";
import * as i4 from "@angular/common";
import * as i5 from "@angular/forms";
import * as i6 from "@eui/externals/quill";
export declare class UxEditorComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {
    private ngControl;
    e2eAttr: string;
    id: string;
    style: any;
    styleClass: string;
    placeholder?: string;
    formats?: string[] | null;
    format?: 'object' | 'html' | 'text' | 'json';
    isEnabledOnFocus?: boolean;
    isReadOnly?: boolean;
    isUsedNativeEditorInReadMode?: boolean;
    customToolbarOptions?: any;
    theme?: 'snow' | 'bubble';
    debug?: 'warn' | 'log' | 'error' | true | false;
    isEditable?: boolean;
    formControlName: string;
    feedbackTypeClass: string;
    validationErrorMessage: string;
    tabindex: string;
    hasReadOnlyStyles?: true | false;
    isMinimalToolbar?: boolean;
    modules?: QuillModules;
    maxLength?: number;
    minLength?: number;
    isRequired?: true | false;
    customToolbarPosition: 'top' | 'bottom';
    isUsedSanitizationForHtml?: true | false;
    strict?: true | false;
    scrollingContainer?: HTMLElement | string | null;
    bounds?: HTMLElement | string;
    customOptions: CustomOption[];
    trackChanges?: 'user' | 'all';
    preserveWhitespace?: true | false;
    spellcheck?: true | false;
    showCounters?: true | false;
    isImageUrl?: true | false;
    onInit: EventEmitter<any>;
    onTextChange: EventEmitter<any>;
    onSelectionChange: EventEmitter<any>;
    onEditorCreated: EventEmitter<any>;
    onEditorChanged: EventEmitter<any>;
    onContentChanged: EventEmitter<any>;
    onSelectionChanged: EventEmitter<any>;
    onFocus: EventEmitter<any>;
    onBlur: EventEmitter<any>;
    getCharactersCounter: EventEmitter<any>;
    getWordsCounter: EventEmitter<any>;
    quillEditor: any;
    crlf: string;
    editorConfig: any[];
    value: any;
    lastValidValue: any;
    sanitize: boolean;
    isEnabledOnFocusBackup: boolean;
    displayAbout: boolean;
    charactersCounter: number;
    wordsCounter: number;
    charactersLabel: string;
    wordsLabel: string;
    isMaxLengthValid: boolean;
    charactersLeft: number;
    isBlured: boolean;
    isFocused: boolean;
    isEditorCreated: boolean;
    hasEditorChanged: boolean;
    hasContentChanged: boolean;
    hasSelectionChanged: boolean;
    isToolbarTouched: boolean;
    formValidationErrorMessage: string;
    formControlStatus: string;
    isFormControlValid: boolean;
    ariaInvalid: boolean;
    generatedId: string;
    formControl: FormControl;
    private uxFormGroupComponent;
    private destroy$;
    customEditorToolbar: QueryList<UxEditorCustomToolbarTagDirective>;
    constructor(uxFormGroupComponent: UxFormGroupComponent, ngControl: NgControl);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    setImageUrlHandler(editorInstance: any): void;
    imageHandler: (image: any, callback: any) => void;
    editorUndo(): void;
    editorRedo(): void;
    editorDeleteContent(event: any): void;
    editorAbout(): void;
    toggleReadOnly(): void;
    toggleRequired(): void;
    enableEditorOnClickFocus(event: any): void;
    onToolbarFocusIn(event: any): void;
    onToolbarFocusOut(event: any): void;
    onEditorCreatedEmit(event: any): void;
    onEditorChangedEmit(event: any): void;
    onContentChangedEmit(event: any): void;
    onSelectionChangedEmit(event: any): void;
    onFocusEmit(event: any): void;
    onBlurEmit(event: any): void;
    registerOnChange(fn: (modelValue: any) => void): void;
    registerOnTouched(fn: () => void): void;
    registerOnValidatorChange(fn: () => void): void;
    writeValue(value: any): void;
    propagateChange: (_: any) => void;
    propagateTouched: () => void;
    onValidatorChanged: () => void;
    private _editorSetFocus;
    private _getEncodedURILink;
    private _formControlStatusChanges;
    private _calculateCounters;
    private _refreshMaxLength;
    private _stripHtml;
    static ɵfac: i0.ɵɵFactoryDef<UxEditorComponent, [{ optional: true; host: true; }, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<UxEditorComponent, "ux-editor", never, { "e2eAttr": "e2eAttr"; "id": "id"; "style": "style"; "styleClass": "styleClass"; "placeholder": "placeholder"; "formats": "formats"; "format": "format"; "isEnabledOnFocus": "isEnabledOnFocus"; "isReadOnly": "isReadOnly"; "isUsedNativeEditorInReadMode": "isUsedNativeEditorInReadMode"; "customToolbarOptions": "customToolbarOptions"; "theme": "theme"; "debug": "debug"; "isEditable": "isEditable"; "formControlName": "formControlName"; "feedbackTypeClass": "feedbackTypeClass"; "validationErrorMessage": "validationErrorMessage"; "tabindex": "tabindex"; "hasReadOnlyStyles": "hasReadOnlyStyles"; "isMinimalToolbar": "isMinimalToolbar"; "modules": "modules"; "maxLength": "maxLength"; "minLength": "minLength"; "isRequired": "isRequired"; "customToolbarPosition": "customToolbarPosition"; "isUsedSanitizationForHtml": "isUsedSanitizationForHtml"; "strict": "strict"; "scrollingContainer": "scrollingContainer"; "bounds": "bounds"; "customOptions": "customOptions"; "trackChanges": "trackChanges"; "preserveWhitespace": "preserveWhitespace"; "spellcheck": "spellcheck"; "showCounters": "showCounters"; "isImageUrl": "isImageUrl"; }, { "onInit": "onInit"; "onTextChange": "onTextChange"; "onSelectionChange": "onSelectionChange"; "onEditorCreated": "onEditorCreated"; "onEditorChanged": "onEditorChanged"; "onContentChanged": "onContentChanged"; "onSelectionChanged": "onSelectionChanged"; "onFocus": "onFocus"; "onBlur": "onBlur"; "getCharactersCounter": "getCharactersCounter"; "getWordsCounter": "getWordsCounter"; }, ["customEditorToolbar"], ["uxEditorCustomToolbar"]>;
}
export declare class UxEditorCustomToolbarTagDirective {
    static ɵfac: i0.ɵɵFactoryDef<UxEditorCustomToolbarTagDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDefWithMeta<UxEditorCustomToolbarTagDirective, "uxEditorCustomToolbar", never, {}, {}, never>;
}
export declare class UxEditorComponentModule {
    static ɵmod: i0.ɵɵNgModuleDefWithMeta<UxEditorComponentModule, [typeof UxEditorComponent, typeof i1.UxEditorViewComponent, typeof i2.UxEditorViewHTMLComponent, typeof i3.UxEditorCountersComponent, typeof UxEditorCustomToolbarTagDirective], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.QuillModule], [typeof UxEditorComponent, typeof i1.UxEditorViewComponent, typeof i2.UxEditorViewHTMLComponent, typeof i3.UxEditorCountersComponent, typeof UxEditorCustomToolbarTagDirective]>;
    static ɵinj: i0.ɵɵInjectorDef<UxEditorComponentModule>;
}
