import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { DefaultValueAccessorComponent, DsfrSeverity } from '@edugouvfr/ngx-dsfr';
import { ToolbarControl } from './components/toolbar/editor-toolbar.model';
import * as i0 from "@angular/core";
export declare class DsfrEditorComponent extends DefaultValueAccessorComponent<string> implements OnInit, OnDestroy {
    /**
     * Options de la toolbar.
     */
    toolbarOptions: ToolbarControl[];
    /**
     * Permet de spécifier l'identifiant à utiliser pour le composant d'édition.
     * C'est utile si vous souhaitez disposer de plusieurs éditeurs sur un même écran.
     *
     * Attention : cet input est statique et doit être connu à l'initialisation du composant.
     */
    editorId: string;
    /**
     * Libellé du champ de saisie riche.
     *
     * Obligatoire si vous ne gérez pas un libellé accessible via aria-Labelledby.
     *
     * Il est possible de masquer visuellement ce libellé via la propriété `labelSrOnly`.
     */
    label: string;
    /**
     * Permet de masquer visuellement le libellé en le réservant aux dispositifs de restitution.
     */
    labelSrOnly: boolean;
    /**
     * Renseigner cette propriété si vous souhaitez référencer un élément dénotant le champ d'édition au niveau de
     * l'attribut aria-labelledby positionné au niveau de l'élément hôte de l'éditeur HTML.
     */
    ariaLabelledBy: string;
    /**
     * Active la lecture seule.
     */
    /** Ajoute une validation comme étant un champs required */
    /** Utilise DomSanitizer. Uniquement pour le format `html`. */
    /** Ajoute une valeur maximale de caractère pour validation. */
    /** Ajoute une valeur minimal de caractère pour validation. */
    /**
     * Message d'information associé au composant.
     */
    message: string;
    /**
     * Représente la sévérité du message. 🔥 `WARNING` n'est pas géré dans cette version.
     */
    messageSeverity: DsfrSeverity;
    /**
     * Id de l'élément affichant les messages associé à l'éditeur. A renseigner si vous souhaitez positionner un attribut
     * `aria-describedby` référençant votre message au niveau de l'élément hôte de l'éditeur.
     *
     * Attention : cet input est statique et doit être connu à l'initialisation du composant.
     */
    messagesGroupId: string;
    /**
     * Dev/debug : permet d'afficher le code HTML interne de l'éditeur (i.e. celui qui sert pour l'affichage WYSIWYG).
     */
    showEditorHtmlDebugPanel: boolean;
    /**
     * Dev/debug : permet d'afficher le code HTML qui sera récupéré en sortie.
     */
    showSemanticHtmlDebugPanel: boolean;
    /**
     * Signale les changements sur le contenu HTML.
     */
    valueChange: EventEmitter<string>;
    /**
     * Gestion de l'identifiant du libellé accessible.
     */
    protected labelId: string;
    private _sub;
    private readonly i18n;
    private readonly editorService;
    constructor();
    ngOnInit(): void;
    ngOnDestroy(): void;
    /** @internal */
    writeValue(value: string | undefined): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DsfrEditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DsfrEditorComponent, "dsfr-ext-editor, dsfrx-editor", never, { "toolbarOptions": { "alias": "toolbarOptions"; "required": false; }; "editorId": { "alias": "editorId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelSrOnly": { "alias": "labelSrOnly"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "message": { "alias": "message"; "required": false; }; "messageSeverity": { "alias": "messageSeverity"; "required": false; }; "messagesGroupId": { "alias": "messagesGroupId"; "required": false; }; "showEditorHtmlDebugPanel": { "alias": "showEditorHtmlDebugPanel"; "required": false; }; "showSemanticHtmlDebugPanel": { "alias": "showSemanticHtmlDebugPanel"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
}
