import { OnInit, OnDestroy, ChangeDetectorRef, ElementRef, AfterViewInit } from '@angular/core';
import { CdkPortalOutletAttachedRef, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
import { BehaviorSubject } from 'rxjs';
import { EuiDialogInterface, EuiDialogComponentInstances } from '../models/eui-dialog.config';
import * as i0 from "@angular/core";
export declare class EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC> implements OnInit, OnDestroy, AfterViewInit {
    cd: ChangeDetectorRef;
    dialogContainerConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>;
    isHeaderTemplatePortal: boolean;
    isBodyTemplatePortal: boolean;
    isFooterTemplatePortal: boolean;
    isHeaderComponentPortal: boolean;
    isBodyComponentPortal: boolean;
    isFooterComponentPortal: boolean;
    headerComponentPortal: ComponentPortal<HC>;
    bodyComponentPortal: ComponentPortal<BC>;
    footerComponentPortal: ComponentPortal<FC>;
    componentInstances: EuiDialogComponentInstances<HC, BC, FC>;
    acceptButtonDisabled$: BehaviorSubject<boolean>;
    dismissButtonDisabled$: BehaviorSubject<boolean>;
    dialogBody: ElementRef<HTMLElement>;
    string: string;
    closeButtonAriaLabel: string;
    protected isBodyScrollable: import("@angular/core").WritableSignal<boolean>;
    private destroy$;
    private injector;
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngAfterViewInit(): void;
    get getComponentInstances(): EuiDialogComponentInstances<HC, BC, FC>;
    get getPortalOutlet(): TemplatePortal | null;
    get dialogContainerConfigContent(): string;
    portalAttached(attachedRef: CdkPortalOutletAttachedRef, component: 'headerComponent' | 'bodyComponent' | 'footerComponent'): void;
    closeDialog(): void;
    onDismiss(): void;
    onAccept(): void;
    /**
     * Based on certain conditions returns the id of the body content to the aria-describedby attr of the container
     */
    getContentId(): string;
    /**
     * Disable Accept button of default eui-dialog footer.
     */
    disableAcceptButton(): void;
    /**
     * Enable Accept button of default eui-dialog footer.
     */
    enableAcceptButton(): void;
    /**
     * Disable Dismiss button of default eui-dialog footer.
     */
    disableDismissButton(): void;
    /**
     * Enable Dismiss button of default eui-dialog footer.
     */
    enableDismissButton(): void;
    onScroll(): void;
    scrollToBottom(): void;
    scrollToTop(): void;
    private createComponentPortal;
    private createInjector;
    /**
     * Checks if the dialog body is scrollable in order to make the scrollbar focusable or not
     */
    private checkScrollability;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDialogContainerComponent<any, any, any, any, any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDialogContainerComponent<any, any, any, any, any, any>, "eui-dialog-container", never, { "closeButtonAriaLabel": { "alias": "closeButtonAriaLabel"; "required": false; }; }, {}, never, never, true, never>;
}
//# sourceMappingURL=eui-dialog-container.component.d.ts.map