import { AfterViewInit, ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core';
import { FormControl, Validator } from '@angular/forms';
import { MatDialog } from '@angular/material/dialog';
import { TranslateLibraryService } from '../services/translation-registry.service';
import { CKEditorEventConst } from './common/constants/ckeditorEvent.constant';
import { QMSCKEditorData } from './common/models/qms-ckeditor-data.model';
import { QMSCKEditorPlugin } from './common/models/qms-ckeditor-plugin.model';
import { QMSCKEditorFullscreenComponent } from './components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component';
import { QMSCKEditorBaseComponent } from './qms-ckeditor-base.component';
import { QMSCKEditorGlobalService } from './services/qms-ckeditor-global.service';
import { QMSCKEditorTreeService } from './services/qms-ckeditor-tree.service';
export declare class QMSCKEditorComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewInit, Validator {
    private dialog;
    private translate;
    private globalService;
    private treeService;
    private qmsCKEditorFullscreenComponent;
    private renderer;
    private elRef;
    qmsckData: QMSCKEditorData;
    qmsckPlugin: QMSCKEditorPlugin;
    qmsckContentInput: string;
    isDisabled: boolean;
    required: boolean;
    qmsckContentOutput: EventEmitter<string>;
    LANG: any;
    ckEditor: any;
    name: string;
    ckeditorConfig: any;
    ckEditorEventConst: typeof CKEditorEventConst;
    countWord: number;
    countChar: number;
    editorInstance: any;
    ckTagname: string;
    onMessage(event: any): void;
    /**
     * Constructor
     */
    constructor(dialog: MatDialog, translate: TranslateLibraryService, globalService: QMSCKEditorGlobalService, treeService: QMSCKEditorTreeService, qmsCKEditorFullscreenComponent: QMSCKEditorFullscreenComponent, renderer: Renderer2, elRef: ElementRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onChange: (content: any) => void;
    onTouched: () => void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    ngAfterViewInit(): void;
    isEnabledWProofreader(): boolean;
    addWProofreaderConfig(): void;
    isEnabledToggleToolbar(): boolean;
    addToggleToolbarConfig(): void;
    isEnabledFullScreenConfig(): boolean;
    addFullScreenConfig(): void;
    isEnabledTOCToolbar(): boolean;
    addToggleTOCConfig(): void;
    isEnabledTimestampConfig(): boolean;
    addTimestampConfig(): void;
    isEnabledMathtypeConfig(): boolean;
    addMathTypeConfig(): void;
    onChanged({ editor }: {
        editor: any;
    }): void;
    onBlur({ editor }: {
        editor: any;
    }): void;
    validate(c: FormControl): {
        type: {
            valid: boolean;
            actual: any;
        };
    };
    /**
     * onReady
     */
    onReady(editor: any): void;
    private initEditor;
    /**
     * Add template - Load template
     */
    templateEventHandling(): void;
    /**
     * Add template - Load template
     */
    loadTemplateEventHandling(): void;
    /**
     * Anchor - Link - Image mapping
     */
    linkEventHandling(link: any): void;
    /**
     * Tooltip mapping
     */
    tooltipEventHandling(value: any): void;
    /**
   * ImageMap mapping
   */
    imageMapEventHandling(value: any): void;
    bpmnEventHandling(id: string): void;
    aboutCKEditorEventHandling(version: string): void;
    toggleToolbarEventHandling(): void;
    /**
   * Flowchart
   */
    flowchartEventHandling(id: string): void;
    /**
     * Browse Video
     */
    browseVideoEventHandling(value: any): void;
}
