import { ComponentPortal, ComponentType } from '@angular/cdk/portal'; import { InjectionToken, Injector, TemplateRef } from '@angular/core'; import { MatSnackBar, MatSnackBarConfig, MatSnackBarRef } from '@angular/material/snack-bar'; import { UiSnackbarIntl } from './ui-snackbar.intl'; import * as i0 from "@angular/core"; interface ISnackBarAlert { /** * Alert message */ message: string | TemplateRef | ComponentType; /** * Optional action button message, * will emit `dismissWithAction` on click */ actionMessage?: string; /** * How long to remain on the screen */ duration: number; /** * Material icon to be used in snackbar */ icon?: string; /** * Aria label for screen-readers on close button */ closeAriaLabel?: string; /** * Additional information to pass to components. Can be used by injecting `UI_MAT_SNACK_BAR_PAYLOAD`. */ payload?: unknown; /** * Extra CSS classes to be added to the snack bar container. */ extraCssClasses?: string[]; } export declare class UiSnackBarComponent { data: ISnackBarAlert; snackBarRef: MatSnackBarRef; private _injector; private _componentPortal?; get componentPortal(): ComponentPortal; constructor(data: ISnackBarAlert, snackBarRef: MatSnackBarRef, _injector: Injector); /** * @internal * @ignore */ isPropertyString(property: unknown): property is string; /** * @internal * @ignore */ isTemplateRef(property: unknown): property is TemplateRef; /** * @internal * @ignore */ isComponentType(property: unknown): property is ComponentType; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare enum SnackBarType { Info = "info", Error = "error", Warning = "warning", Success = "success", None = "none" } export declare const ICON_MAP: Map; export type SnackbarAction = (message: string | TemplateRef | ComponentType, config?: { actionMessage?: string; duration?: number; payload?: unknown; extraCssClasses?: string[]; }) => MatSnackBarRef; export declare class UiMatSnackBarConfig { restrictHtml: boolean; } export declare const UI_MAT_SNACK_BAR_DEFAULT_OPTIONS: InjectionToken; export declare const UI_MAT_SNACK_BAR_PAYLOAD: InjectionToken; /** * Snackbar config options */ interface ISnackBarOptions extends Partial> { /** * The type of the alert (info, success, warning or error) */ type?: SnackBarType; } export declare const panelClass: (type: SnackBarType) => string; export declare class UiSnackBarService { private _snackBar; private _options; private readonly _snackIntl; private _additionalOptions?; /** * Display an info snackbar * * @param message The message to be displayed * @param config `{ actionMessage, duration }` */ info: SnackbarAction; /** * Display an error snackbar * * @param message The message to be displayed * @param config `{ actionMessage, duration }` */ error: SnackbarAction; /** * Display an success snackbar * * @param message The message to be displayed * @param config `{ actionMessage, duration }` */ success: SnackbarAction; /** * Display an warning snackbar * * @param message The message to be displayed * @param config `{ actionMessage, duration }` */ warning: SnackbarAction; private _ref?; constructor(_snackBar: MatSnackBar, _options: MatSnackBarConfig, _snackIntl: UiSnackbarIntl, _additionalOptions?: UiMatSnackBarConfig | undefined); /** * Display a snackbar (customizable) * * @param message The message to be displayed * @param options Customize default options: snackbar type, icon, display duration, and action message */ show: (message: string | TemplateRef | ComponentType, { type, duration, icon, actionMessage, payload, extraCssClasses }?: ISnackBarOptions) => MatSnackBarRef; /** * Dismiss the displayed snackbar */ clear(): void; private _alertFactory; private _alert; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export {};