import { AfterContentChecked, AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core';
import { DialogRef } from '@angular/cdk/dialog';
import { QdDialogConfig } from './models/dialog-config.model';
import { QdDialogChangeGuardService } from './services/dialog-change-guard.service';
import { QdConfirmationDialogOpenerService } from './services/confirmation-dialog.service';
import { QdDialogService } from './services/dialog.service';
import * as i0 from "@angular/core";
/**
 * **QdDialog** creating resonsive dialogs. Three different sizes are available.
 *
 *
 * * @see child component: **QdDialogAction**.
 *
 * **Usage:**
 *
 * @example
 * import { QdDialogService } from '@quadrel-ui/qd-ui';
 *
 * @example
 * const config: QdDialogConfig = {
 *   title: {
 *      i18n: "i18.my.modal.title",
 *   },
 *   dialogSize: QdDialogSize.Default,
 *   hideCloseHeaderButton: false
 *   data: myData // API to provide data to the dialog
 * }
 *
 * @example
 * this.dialogService.open(MyModalComponent, config);
 *
 * **Example of MyModalComponent:**
 *
 * @example
 * <qd-dialog>
 *     <!-- Dialog Content START-->
 *     ...
 *     <!-- Dialog Content ENDE-->
 *     <qd-dialog-action>
 *         <button qdButton color="secondary" (click)="close()">Cancel</button>
 *         <button qdButton (click)="close('Yes')">Submit</button>
 *     </qd-dialog-action>
 * </qd-dialog>
 *
 *  **Example of MyModalComponent (Including Form Change Guard):**
 *
 *  @example
 *  <qd-dialog>
 *   <form [formGroup]="myForm" qdPendingChangesGuard>
 *   <input type="text" formControlName="name">
 *   You have unsaved changes!
 *   </form>
 *  </qd-dialog>
 *  */
export declare class QdDialogComponent implements OnInit, AfterContentChecked, AfterViewInit, OnDestroy {
    dialogRef: DialogRef<unknown>;
    private dialog;
    private changeDetectorRef;
    private dialogChangeGuard;
    private dialogService;
    body?: ElementRef<HTMLElement>;
    infoBanners?: ElementRef<HTMLElement>;
    get hasSectionsClass(): boolean;
    config: QdDialogConfig;
    hasSections: boolean;
    hasInfoBanner: boolean;
    private _destroyed$;
    private _pageDialogCanCloseFn;
    get isFullWidth(): boolean;
    constructor(dialogRef: DialogRef<unknown>, dialog: QdConfirmationDialogOpenerService, changeDetectorRef: ChangeDetectorRef, dialogChangeGuard: QdDialogChangeGuardService, dialogService: QdDialogService);
    ngOnInit(): void;
    ngAfterContentChecked(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    close(): void;
    primaryActionClicked(): void;
    private finalizeClose;
    private confirmAndClose;
    private handlePageDialogClose;
    private handleLegacyDialogClose;
    private runCancelHandlerAndClose;
    private bindEscToClose;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QdDialogComponent, "qd-dialog", never, {}, {}, never, ["qd-page-info-banner", "*", "qd-dialog-action"], false, never>;
}
//# sourceMappingURL=dialog.component.d.ts.map