import { EventEmitter, OnChanges } from '@angular/core';
import { CacheService } from '../../core/cache.service';
import * as i0 from "@angular/core";
export type BannerType = 'info' | 'warning' | 'error' | 'success' | 'promo';
export type BannerStyle = 'normal' | 'pinned' | 'toast';
export type BannerCacheEntry = {
    hidden: boolean;
};
export declare class BannerComponent implements OnChanges {
    private cacheService;
    /** hidden hides the banner */
    hidden: boolean;
    /**The ID of the component, rendered into the HTML to make it more accessible to automation */
    id: string;
    /**The type of banner which is used to determine the styling */
    type: BannerType;
    bannerStyle: BannerStyle;
    /**The title for the banner */
    title?: string;
    /**The text inside the banner */
    text?: string;
    /** List of strings to display inside the banner */
    list?: string[];
    /**Show an x to allow hiding the banner */
    showCloseBtn: boolean;
    /** When true, the banner will hide itself when the close button is clicked */
    autoHideOnClose: boolean;
    /**
    * The icon will be set to this value if it's provided.
    * If it's not provided, the icon will be selected based on the type input.
    */
    customIcon?: string;
    /** When true, the banner will automatically hide itself based on the state found in local storage  */
    rememberClosed: boolean;
    /**Event to hide the banner */
    closed: EventEmitter<void>;
    /**
     * Icon to show on the banner.
     * If no value for overrideIcon is provided, will be automatically selected based on the type input.
     */
    icon: string;
    private readonly cacheKeyPrefix;
    constructor(cacheService: CacheService);
    ngOnChanges(): void;
    /** On close, explicitly hide the banner one time. If the input changes afterward then it can reappear*/
    close(): void;
    private getIconByBannerType;
    static ɵfac: i0.ɵɵFactoryDeclaration<BannerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BannerComponent, "ec-banner", never, { "hidden": { "alias": "hidden"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "bannerStyle": { "alias": "bannerStyle"; "required": false; }; "title": { "alias": "title"; "required": false; }; "text": { "alias": "text"; "required": false; }; "list": { "alias": "list"; "required": false; }; "showCloseBtn": { "alias": "showCloseBtn"; "required": false; }; "autoHideOnClose": { "alias": "autoHideOnClose"; "required": false; }; "customIcon": { "alias": "customIcon"; "required": false; }; "rememberClosed": { "alias": "rememberClosed"; "required": false; }; }, { "closed": "closed"; }, never, ["*"], false, never>;
}
