import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { DsfrHeadingLevel, DsfrSize, I18nService } from '../../shared';
import { DsfrModalAction } from './modal-action.model';
import * as i0 from "@angular/core";
export declare class DsfrModalComponent implements AfterViewInit, OnInit, OnDestroy {
    i18n: I18nService;
    private elemRef;
    private renderer2;
    /** L'identifiant unique de l'élément <dialog>. */
    dialogId: string;
    /** Titre de la modal. */
    titleModal: string;
    /**
     * Le niveau de titre devant être utilisé (tag `h1` par défaut).
     * Cette balise ne produit pas de style, mais de la structure.
     */
    headingLevel: DsfrHeadingLevel | undefined;
    /** Le tableau des actions à positionner dans le dialogue modal. */
    actions: DsfrModalAction[];
    /** Permet de ne pas fermer la modale automatiquement lorsqu'une action est exécutée. */
    autoCloseOnAction: boolean;
    /**
     * Le mode de contrôle vous permet, le cas échéant,  de maintenir la capacité de la modale à être pilotée
     * programmatiquement en absence de bouton de contrôle.
     *
     * @since 1.8.0
     */
    controlMode: 'button' | 'dynamic';
    /** Signale l'ouverture de la modal. */
    disclose: EventEmitter<void>;
    /** Signale la fermeture de la modal. */
    conceal: EventEmitter<void>;
    /** @internal */
    dsfrModal: ElementRef;
    /**
     * L'identifiant unique de l'élément tenant titre descriptif du dialogue modal.
     *
     * @internal
     */
    titleElementId: string;
    /** @internal */
    sizeClasses: {
        [klass: string]: boolean;
    };
    private _size;
    private _unlisten;
    /** @internal */
    constructor(i18n: I18nService, elemRef: ElementRef, renderer2: Renderer2);
    get size(): DsfrSize;
    /**
     * La taille de la modale.
     * Valeurs possibles : `SM` (pour small), `MD` (pour medium), `LG` (pour large).
     */
    set size(newSize: DsfrSize);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Permet de déclencher programmatiquement l'ouverture de la modale.
     */
    open(): void;
    /**
     * Permet de déclencher programmatiquement la fermeture de la modale.
     */
    close(): void;
    /** @internal */
    performAction(action: DsfrModalAction): void;
    private updateSizeClasses;
    static ɵfac: i0.ɵɵFactoryDeclaration<DsfrModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DsfrModalComponent, "dsfr-modal", never, { "dialogId": { "alias": "dialogId"; "required": false; }; "titleModal": { "alias": "titleModal"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "autoCloseOnAction": { "alias": "autoCloseOnAction"; "required": false; }; "controlMode": { "alias": "controlMode"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "disclose": "disclose"; "conceal": "conceal"; }, never, ["*"], false, never>;
}
