import { ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { EvoBaseControl } from '../../common/evo-base-control';
import { EvoInputContenteditableSize } from './types/evo-input-contenteditable-size';
import * as i0 from "@angular/core";
export declare class EvoInputContenteditableComponent extends EvoBaseControl implements OnInit, ControlValueAccessor {
    private cd;
    protected injector: Injector;
    static readonly STYLE_KEYCODES: number[];
    readonly contenteditable: ElementRef;
    blur: EventEmitter<FocusEvent>;
    size: EvoInputContenteditableSize;
    multiline: boolean;
    placeholder: string;
    autoFocus: boolean;
    maxLines: number;
    minLines: number;
    private disabled;
    private preventStylingHotkeys;
    private onChange;
    private onTouched;
    private _isDisabled;
    constructor(cd: ChangeDetectorRef, injector: Injector);
    get isDisabled(): boolean;
    get inputClass(): {
        [cssClass: string]: boolean;
    };
    ngOnInit(): void;
    focus(): void;
    registerOnChange(fn: any): void;
    writeValue(value: string): void;
    onBlur(event: FocusEvent): void;
    /**
     * New line triggers changes in both modes
     * Handle this case here if you found this behaviour redundant
     */
    onInput(event: Event): void;
    onPaste(event: ClipboardEvent): void;
    onKeydown(event: KeyboardEvent): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    private clearMultiline;
    private wrapSetValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<EvoInputContenteditableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EvoInputContenteditableComponent, "evo-input-contenteditable", never, { "size": "size"; "multiline": "multiline"; "placeholder": "placeholder"; "autoFocus": "autoFocus"; "maxLines": "maxLines"; "minLines": "minLines"; "disabled": "disabled"; "preventStylingHotkeys": "preventStylingHotkeys"; }, { "blur": "blur"; }, never, never>;
}
