import { OnDestroy, OnInit, OnChanges, AfterViewInit, WritableSignal, ElementRef } from '@angular/core';
import { FudisDialogService } from '../../services/dialog/dialog.service';
import { FudisIdService } from '../../services/id/id.service';
import { FudisTranslationService } from '../../services/translation/translation.service';
import { FudisComponentChanges, FudisDialogSize } from '../../types/miscellaneous';
import * as i0 from "@angular/core";
export declare class DialogComponent implements OnDestroy, OnInit, OnChanges, AfterViewInit {
    protected _translateService: FudisTranslationService;
    private _dialogService;
    private _idService;
    private _elementRef;
    constructor(_translateService: FudisTranslationService, _dialogService: FudisDialogService, _idService: FudisIdService, _elementRef: ElementRef);
    /**
     * Dialog size
     */
    size: FudisDialogSize;
    /**
     * Dialog's close button has to have absolute positioning when used inside fudis-form
     */
    closeButtonPositionAbsolute: WritableSignal<boolean>;
    /**
     * Id generated from FudisIdService
     */
    protected _id: string;
    /**
     * To track "order number" of this dialog, if multiple dialogs are open
     */
    private _orderNumber;
    /**
     * Does Dialog have scrollable content
     */
    protected _dialogScrollable: WritableSignal<boolean | null>;
    /**
     * To observe size changes of this Label and trigger height calculation as needed
     */
    private _resizeObserver;
    ngOnChanges(changes: FudisComponentChanges<DialogComponent>): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * From: https://phuoc.ng/collection/html-dom/check-if-an-element-is-scrollable/
     */
    private _isDialogScrollable;
    private _handleEscapePress;
    static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "fudis-dialog", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, ["*"], false, never>;
}
