import { EventEmitter, Injector, OnInit } from '@angular/core';
import { AbstractControl, ControlValueAccessor, NgControl, ValidationErrors } from '@angular/forms';
import { QuillEditorComponent, QuillModules } from 'ngx-quill';
import { ValidatorService } from '../services/validator.service';
import * as i0 from "@angular/core";
export declare class CvaQuillEditorComponent implements ControlValueAccessor, OnInit {
    private injector;
    label: string;
    name: string;
    placeholder: string;
    hint: string;
    required: boolean;
    disabled: boolean;
    text: string;
    textCounter: number;
    quillStyle: any;
    quillModule: QuillModules | undefined;
    onlyCheckTextValidation: boolean;
    format?: 'object' | 'html' | 'text' | 'json';
    pattern: any;
    readonly: boolean;
    errorMessages: Map<string, (e?: any) => string>;
    onChange: EventEmitter<string>;
    multiline: boolean;
    isLabelOutside: boolean;
    isFloatLabel: boolean;
    minLength: number | undefined;
    maxLength: number | undefined;
    maxSize: number | undefined;
    minSize: number | undefined;
    onFocusStatus: boolean;
    maxLengthDisplay: number | undefined;
    isFormControl: boolean;
    formatFunc: any;
    control: AbstractControl | undefined;
    get NsValidator(): typeof ValidatorService;
    constructor(injector: Injector, ngControl: NgControl);
    ngOnInit(): void;
    get textValue(): string;
    set textValue(val: string);
    customLengthValidator: (control: AbstractControl) => ValidationErrors | null;
    customSizeValidator: (control: AbstractControl) => ValidationErrors | null;
    callValidator(): void;
    propagateChange: (_: any) => void;
    /**
     * Write a new value to the element.
     */
    writeValue(obj: any): void;
    /**
     * Set the function to be called
     * when the formControl receives a change event.
     */
    registerOnChange(fn: any): void;
    /**
     * Set the function to be called
     * when the formControl receives a touch event.
     */
    registerOnTouched(): void;
    displayLength(): string | number;
    getMaxLength(): number;
    onFocus(event: any): void;
    onBlur(event: any): void;
    onChangeContent(quill: QuillEditorComponent | any, text: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CvaQuillEditorComponent, [null, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CvaQuillEditorComponent, "cva-quill-editor", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "text": { "alias": "text"; "required": false; }; "quillStyle": { "alias": "quillStyle"; "required": false; }; "quillModule": { "alias": "quillModule"; "required": false; }; "onlyCheckTextValidation": { "alias": "onlyCheckTextValidation"; "required": false; }; "format": { "alias": "format"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "isLabelOutside": { "alias": "isLabelOutside"; "required": false; }; "isFloatLabel": { "alias": "isFloatLabel"; "required": false; }; "minLength": { "alias": "minLength"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "maxSize": { "alias": "maxSize"; "required": false; }; "minSize": { "alias": "minSize"; "required": false; }; "maxLengthDisplay": { "alias": "maxLengthDisplay"; "required": false; }; "isFormControl": { "alias": "isFormControl"; "required": false; }; "formatFunc": { "alias": "formatFunc"; "required": false; }; }, { "onChange": "onChange"; }, never, never, false, never>;
}
