import { OnInit, OnDestroy, AfterViewInit, EventEmitter } from '@angular/core';
import { EditorDirective } from '../../directives/editor.directive';
import * as RoosterJs from 'roosterjs';
import { Subject, Observable } from 'rxjs';
import { Alignment, Direction, Indentation } from 'roosterjs';
import { FormatStateObservable } from '../../plugins/format-state.observable.plugin';
import { ControlValueAccessor } from '@angular/forms';
export declare class RoosterEditorComponent implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor {
    editorDirective: EditorDirective;
    private editor;
    private onChange;
    private onTouched;
    private editor$;
    formatStatePlugin$: FormatStateObservable;
    aligment$: Subject<RoosterJs.Alignment>;
    aligment: Alignment;
    backgroundColor$: Subject<string>;
    backgroundColor: string;
    backgroundColorChange: EventEmitter<string>;
    direction$: Subject<RoosterJs.Direction>;
    direction: Direction;
    fontName$: Subject<string>;
    fontName: string;
    fontNameChange: EventEmitter<string>;
    fontSize$: Subject<string>;
    fontSize: string;
    fontSizeChange: EventEmitter<string>;
    indentation$: Subject<RoosterJs.Indentation>;
    indentation: Indentation;
    textColor$: Subject<string>;
    textColor: string;
    textColorChange: EventEmitter<string>;
    toggleBlockQuote$$: Subject<Observable<(element: HTMLElement) => void>>;
    toggleBlockQuote$: Observable<(element: HTMLElement) => void | undefined>;
    isBlockQuoteChange: EventEmitter<boolean>;
    toggleBold$$: Subject<Observable<void>>;
    toggleBold$: Observable<void>;
    isBoldChange: EventEmitter<boolean>;
    toggleBullet$$: Subject<Observable<void>>;
    toggleBullet$: Observable<void>;
    isBulletChange: EventEmitter<boolean>;
    toggleCodeBlock$$: Subject<Observable<(element: HTMLElement) => void>>;
    toggleCodeBlock$: Observable<(element: HTMLElement) => void | undefined>;
    toggleHeader$$: Subject<Observable<number>>;
    toggleHeader$: Observable<number>;
    headerLevelChange: EventEmitter<number>;
    toggleItalic$$: Subject<Observable<void>>;
    toggleItalic$: Observable<void>;
    isItalicChange: EventEmitter<boolean>;
    toggleNumbering$$: Subject<Observable<void>>;
    toggleNumbering$: Observable<void>;
    isNumberingChange: EventEmitter<boolean>;
    toggleStrikethrough$$: Subject<Observable<void>>;
    toggleStrikethrough$: Observable<void>;
    isStrikeThroughChange: EventEmitter<boolean>;
    toggleSubscript$$: Subject<Observable<void>>;
    toggleSubscript$: Observable<void>;
    isSubscriptChange: EventEmitter<boolean>;
    toggleSuperscript$$: Subject<Observable<void>>;
    toggleSuperscript$: Observable<void>;
    isSuperscriptChange: EventEmitter<boolean>;
    toggleUnderline$$: Subject<Observable<void>>;
    toggleUnderline$: Observable<void>;
    isUnderlineChange: EventEmitter<boolean>;
    constructor();
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
}
