import { ComponentPortal, DomPortal, Portal, TemplatePortal } from '@angular/cdk/portal';
import { AfterViewInit, OnDestroy, TemplateRef, Type } from '@angular/core';
import { AutoDismissMessageStripDirective } from '../../auto-dismiss-message-strip.directive';
import { MessageStripAlertRef } from '../message-strip-alert.ref';
import { MessageStripConfiguration } from '../message-strip-configuration-type';
import { MessageStripAlert } from './message-strip-alert.interface';
import * as i0 from "@angular/core";
export type MessageStripAlertPortalType<ComponentType> = DomPortal | TemplatePortal<{
    $implicit: MessageStripAlertRef;
}> | ComponentPortal<ComponentType>;
/**
 * The wrapper component, which is wrapping the Message Strip and passes
 * configuration to it, also generates the content which will appear in it.
 */
export declare class MessageStripAlertComponent<ComponentType = unknown> implements MessageStripAlert, OnDestroy, AfterViewInit {
    /** @hidden */
    autoDismissMessageStripDirective: AutoDismissMessageStripDirective;
    /** User provided data. Full of it */
    data: {
        content: string | TemplateRef<any> | Type<any>;
        closeOnNavigation: boolean;
        messageStripConfig: MessageStripConfiguration;
    };
    /** Configuration for the message strip appearance */
    messageStripConfig: MessageStripConfiguration;
    /** Portal, which is responsible for correctly rendering user provided content. It can be any type of the portal */
    contentPortal: Portal<unknown>;
    /**
     * Reference to the message strip alert, which is used to close it from the outside, or access the data and/or the component instance
     *  */
    readonly alertRef: MessageStripAlertRef;
    /** @hidden */
    private viewContainerRef;
    /** @hidden */
    private renderer2;
    /**
     * Timeout, which is responsible for auto-dismissing the message strip.
     * It should be properly cleared on component destroy.
     */
    private autoDismissTimeout;
    /** @hidden */
    constructor();
    /**
     * Handler for the dismiss button click.
     *  */
    onDismissHandler(): void;
    /** @hidden */
    ngOnDestroy(): void;
    /** @hidden */
    ngAfterViewInit(): void;
    /**
     * Method, which is responsible for generating the portal, which will be rendered inside the message strip.
     * It can be any type of the portal, depending on the user provided content.
     *  */
    private getPortal;
    static ɵfac: i0.ɵɵFactoryDeclaration<MessageStripAlertComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MessageStripAlertComponent<any>, "ng-component", never, {}, {}, never, never, true, never>;
}
