import { Injector } from "@angular/core";
import { DomSanitizer } from "@angular/platform-browser";
import { NotificationService } from "../../services/notification-service";
import { IActiveToast, IToastConfig, IToastDeclaration, IToastService } from "./public-api";
import { ToastContainerService } from "./toast-container.service";
/**
 * __Name : __
 * Toast Service
 *
 * __Usage :__
 * Used to show toast messages and to trigger highlight of items
 */
/**
 * @ignore
 */
export declare class ToastService implements IToastService {
    private notificationService;
    private toastContainerService;
    private _injector;
    private sanitizer;
    private index;
    private currentlyActive;
    private toasts;
    private defaultToastConfig;
    private toastConfig;
    private itemIdentificator;
    constructor(notificationService: NotificationService, toastContainerService: ToastContainerService, _injector: Injector, sanitizer: DomSanitizer);
    /**
     *
     * __Description:__ set global config for all kind of toasts and itemIdentificator that is
     * used for identification of item in nuiToast directive
     * @param config
     * @param itemIdentificator
     * @return void
     */
    setConfig(config: IToastConfig, itemIdentificator?: string): void;
    /**
     *
     * __Description:__ show success toast trigger highlight of items and trigger fade out of highlighting when
     * toast is gone
     *
     * @param toastDeclaration
     * @return void
     */
    success(toastDeclaration: IToastDeclaration): IActiveToast;
    warning(toastDeclaration: IToastDeclaration): IActiveToast;
    error(toastDeclaration: IToastDeclaration): IActiveToast;
    info(toastDeclaration: IToastDeclaration): IActiveToast;
    /**
     *
     * __Description:__ calls toasts' close methods to close them
     *
     * @param toastId
     * @return void
     */
    clear(toastId?: number): void;
    /**
     *
     * __Description:__ removes toast by id and activates next toast in queue (when maxOpened !== 0)
     *
     * @param toastId
     * @return boolean
     */
    remove(toastId: number): boolean;
    private toastRemoveHighlight;
    private applyConfig;
    private buildNotification;
    /**
     * Determines if toast message is already shown
     */
    private isDuplicate;
    private findToast;
    private notifyHighlights;
}
