import { ElementRef, OnDestroy } from '@angular/core';
import { ModalButton } from './modal.interfaces';
import * as i0 from "@angular/core";
export declare class ModalComponent implements OnDestroy {
    private _isOpenSignal;
    private _sizeSignal;
    private _titleSignal;
    private _descriptionSignal;
    private _showCloseButtonSignal;
    private _primaryButtonSignal;
    private _secondaryButtonSignal;
    private _closeOnBackdropClickSignal;
    private _isContentScrollableSignal;
    private _safeAreaInsetBottomSignal;
    private _autoFocusSignal;
    private _hasHeaderSlotSignal;
    modalContentRef: import("@angular/core").Signal<ElementRef<HTMLDivElement>>;
    private bodyContentRef;
    constructor();
    ngOnDestroy(): void;
    isModalOpen(): boolean;
    getSize(): "lg" | "md" | "sm" | "xs";
    getTitle(): string;
    getDescription(): string;
    getShowCloseButton(): boolean;
    getPrimaryButton(): ModalButton;
    getSecondaryButton(): ModalButton;
    getCloseOnBackdropClick(): boolean;
    isContentScrollable(): boolean;
    getSafeAreaInsetBottom(): boolean;
    getAutoFocus(): boolean;
    hasHeaderSlot(): boolean;
    setHasHeaderSlot(hasHeaderSlot: boolean): void;
    setOpen(open: boolean): void;
    setConfig(config: {
        size?: 'xs' | 'sm' | 'md' | 'lg';
        title?: string;
        description?: string;
        showCloseButton?: boolean;
        primaryButton?: ModalButton;
        secondaryButton?: ModalButton;
        closeOnBackdropClick?: boolean;
        safeAreaInsetBottom?: boolean;
        autoFocus?: boolean;
    }): void;
    updatePrimaryButton(buttonUpdate: Partial<ModalButton>): void;
    updateSecondaryButton(buttonUpdate: Partial<ModalButton>): void;
    updateTitle(title: string): void;
    updateShowCloseButton(showCloseButton: boolean): void;
    updateSafeAreaInsetBottom(safeAreaInsetBottom: boolean): void;
    onBackdropClick(): void;
    onPrimaryButtonClick(): void;
    onSecondaryButtonClick(): void;
    onCloseButtonClick(): void;
    onEscapeKey(): void;
    getClasses(): string;
    getBackdropClasses(): string;
    getContentClasses(): string;
    private focusFirstElement;
    private disableBodyScroll;
    private enableBodyScroll;
    private checkContentScrollable;
    getFooterClasses(): string;
    getHeaderClasses(): string;
    shouldRenderHeader(): boolean;
    getContentBodyContentClasses(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "lib-modal", never, {}, {}, never, ["*"], true, never>;
}
export { ModalButton };
