import { OnInit, EventEmitter, Renderer2, OnChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { CommandExecutorService } from './common/services/command-executor.service';
import { MessageService } from './common/services/message.service';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import { IgetEditorCustomConfig } from './iget-editor-custom-config';
import * as i0 from "@angular/core";
export declare class IgetEditorComponent implements OnInit, OnChanges, ControlValueAccessor {
    private sanitizer;
    private _messageService;
    private _commandExecutor;
    private _renderer;
    config: IgetEditorCustomConfig;
    /** emits `blured` event when focused out from the textarea */
    blured: EventEmitter<string>;
    /** emits `focused` event when focused in to the textarea */
    focused: EventEmitter<string>;
    textArea: any;
    wrapper: any;
    Utils: any;
    value: SafeHtml;
    showPlaceholder: boolean;
    private onChange;
    private onTouched;
    /**
     * @param sanitizer Dom Sanitizer
     * @param _messageService service to send message to the editor message component
     * @param _commandExecutor executes command from the toolbar
     * @param _renderer access and manipulate the dom element
     */
    constructor(sanitizer: DomSanitizer, _messageService: MessageService, _commandExecutor: CommandExecutorService, _renderer: Renderer2);
    /**
     * events
     */
    onTextAreaFocus(): void;
    /** focus the text area when the editor is focussed */
    onEditorFocus(): void;
    /**
     * Executed from the contenteditable section while the input property changes
     */
    onContentChange($event: Event): void;
    onTextAreaBlur(): void;
    /**
     * resizing text area
     *
     * @param offsetY vertical height of the editable portion of the editor
     */
    resizeTextArea(offsetY: number): void;
    /**
     * editor actions, i.e., executes command from toolbar
     *
     * @param commandName name of the command to be executed
     */
    executeCommand(commandName: string): void;
    /**
     * Write a new value to the element.
     *
     * @param value value to be executed when there is a change in contenteditable
     */
    writeValue(value: any): void;
    /**
     * Set the function to be called
     * when the control receives a change event.
     *
     * @param fn a function
     */
    registerOnChange(fn: any): void;
    /**
     * Set the function to be called
     * when the control receives a touch event.
     *
     * @param fn a function
     */
    registerOnTouched(fn: any): void;
    /**
     * toggles placeholder based on input string
     *
     * @param value A HTML string from the editor
     */
    togglePlaceholder(value: any): void;
    ngOnInit(): void;
    ngOnChanges(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgetEditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgetEditorComponent, "iget-editor", never, { "config": "config"; }, { "blured": "blured"; "focused": "focused"; }, never, never>;
}
