import { AnimationEvent } from '@angular/animations';
import { CdkPortalOutlet, CdkPortalOutletAttachedRef } from '@angular/cdk/portal';
import { AfterViewInit, ChangeDetectorRef, DestroyRef, ElementRef, Injector } from '@angular/core';
import { CssClassBuilder, DynamicComponentContainer } from '@fundamental-ngx/cdk/utils';
import { DialogContainer } from '@fundamental-ngx/core/dialog';
import { MessageBoxContentType } from '../message-box-content.type';
import { MessageBoxConfig } from '../utils/message-box-config.class';
import { MessageBoxRef } from '../utils/message-box-ref.class';
import * as i0 from "@angular/core";
/** Message box container where the message box content is embedded. */
export declare class MessageBoxContainerComponent extends DynamicComponentContainer<MessageBoxContentType> implements DialogContainer<any>, AfterViewInit, CssClassBuilder {
    messageBoxConfig: MessageBoxConfig;
    ref: MessageBoxRef;
    private _destroyRef;
    private readonly _cdr;
    /** Custom classes */
    set class(userClass: string);
    /** The state of the Dialog animations. */
    private get _animationState();
    /** @hidden */
    portalOutlet: CdkPortalOutlet;
    /** @hidden */
    private _class;
    /** @hidden */
    private _animationStateSignal;
    /** @hidden */
    constructor(messageBoxConfig: MessageBoxConfig, ref: MessageBoxRef, _destroyRef: DestroyRef, elementRef: ElementRef, _cdr: ChangeDetectorRef, injector: Injector);
    /** @hidden */
    buildComponentCssClass(): string[];
    /** Handle end of animations, updating the state of the Message Toast. */
    onAnimationEnd(event: AnimationEvent): void;
    /** @hidden */
    ngAfterViewInit(): void;
    /** @hidden */
    protected _attached(event: CdkPortalOutletAttachedRef): void;
    /** @hidden Load received content */
    protected _loadContent(): void;
    /** @hidden Returns context for embedded template*/
    private _templateContext;
    /** @hidden Load Dialog component from passed object */
    private _createFromDefaultMessageBox;
    /**
     * @hidden
     * We need to wait until animation plays, and then send signal to the service to destroy the component.
     */
    private _listenOnClose;
    static ɵfac: i0.ɵɵFactoryDeclaration<MessageBoxContainerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MessageBoxContainerComponent, "fd-message-box-container", never, { "class": { "alias": "class"; "required": false; }; }, {}, never, never, true, never>;
}
