import { ComponentFactoryResolver, ComponentRef } from '@angular/core';
import { NbGlobalLogicalPosition, NbGlobalPosition, NbOverlayService, NbPositionBuilderService, NbPositionHelper } from '../cdk';
import { NbToastrContainerComponent } from './toastr-container.component';
import { NbToastrConfig } from './toastr-config';
import { NbToast } from './model';
import { NbToastComponent } from './toast.component';
export declare class NbToastContainer {
    protected position: NbGlobalPosition;
    protected containerRef: ComponentRef<NbToastrContainerComponent>;
    protected positionHelper: NbPositionHelper;
    protected toasts: NbToast[];
    protected prevToast: NbToast;
    constructor(position: NbGlobalPosition, containerRef: ComponentRef<NbToastrContainerComponent>, positionHelper: NbPositionHelper);
    attach(toast: NbToast): void;
    protected isDuplicate(toast: NbToast): boolean;
    protected attachToast(toast: NbToast): NbToastComponent;
    protected attachToTop(toast: NbToast): NbToastComponent;
    protected attachToBottom(toast: NbToast): NbToastComponent;
    protected setDestroyTimeout(toast: NbToast): void;
    protected subscribeOnClick(toastComponent: NbToastComponent, toast: NbToast): void;
    protected destroy(toast: NbToast): void;
    protected updateContainer(): void;
}
export declare class NbToastrContainerRegistry {
    protected overlay: NbOverlayService;
    protected positionBuilder: NbPositionBuilderService;
    protected positionHelper: NbPositionHelper;
    protected cfr: ComponentFactoryResolver;
    protected overlays: Map<NbGlobalPosition, NbToastContainer>;
    constructor(overlay: NbOverlayService, positionBuilder: NbPositionBuilderService, positionHelper: NbPositionHelper, cfr: ComponentFactoryResolver);
    get(position: NbGlobalPosition): NbToastContainer;
    protected instantiateContainer(position: NbGlobalLogicalPosition): void;
    protected createContainer(position: NbGlobalLogicalPosition): NbToastContainer;
}
export declare class NbToastrService {
    protected globalConfig: NbToastrConfig;
    protected containerRegistry: NbToastrContainerRegistry;
    constructor(globalConfig: NbToastrConfig, containerRegistry: NbToastrContainerRegistry);
    show(message: any, title?: any, userConfig?: Partial<NbToastrConfig>): void;
    success(message: any, title?: any, config?: Partial<NbToastrConfig>): void;
    info(message: any, title?: any, config?: Partial<NbToastrConfig>): void;
    warning(message: any, title?: any, config?: Partial<NbToastrConfig>): void;
    primary(message: any, title?: any, config?: Partial<NbToastrConfig>): void;
    danger(message: any, title?: any, config?: Partial<NbToastrConfig>): void;
    default(message: any, title?: any, config?: Partial<NbToastrConfig>): void;
}
