import * as i0 from '@angular/core';
import { InjectionToken, EnvironmentProviders } from '@angular/core';

declare const AlertEntryAnimation: {
    readonly DOT: "dot";
    readonly BURST: "burst";
    readonly DROP: "drop";
    readonly SLIDE_LEFT: "slide-left";
    readonly SLIDE_RIGHT: "slide-right";
    readonly UNFOLD: "unfold";
};
type AlertEntryAnimation = typeof AlertEntryAnimation[keyof typeof AlertEntryAnimation];

declare const AlertAppearance: {
    readonly CLASSIC: "classic";
    readonly GRADIENT: "gradient";
};
type AlertAppearance = typeof AlertAppearance[keyof typeof AlertAppearance];

declare class AlertsService {
    private readonly alertsStore;
    private readonly applicationRef;
    private readonly injector;
    private readonly config;
    private alertsComponentRef;
    private renderQueued;
    constructor();
    private initializeAlertsComponent;
    showInfo(text: string, dismissTimeInMillis?: number): void;
    showSuccess(text: string, dismissTimeInMillis?: number): void;
    showWarning(text: string, dismissTimeInMillis?: number): void;
    showError(text: string, dismissTimeInMillis?: number): void;
    setEntryAnimation(entryAnimation: AlertEntryAnimation): void;
    setAlertAppearance(alertAppearance: AlertAppearance): void;
    clear(): void;
    private syncAlertsToContainer;
    private queueContainerRender;
    static ɵfac: i0.ɵɵFactoryDeclaration<AlertsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AlertsService>;
}

interface MagicAlertsConfig {
    entryAnimation: AlertEntryAnimation;
    alertAppearance: AlertAppearance;
}
type MagicAlertsConfigOptions = Partial<MagicAlertsConfig>;
declare const DEFAULT_MAGIC_ALERTS_CONFIG: MagicAlertsConfig;
declare const MAGIC_ALERTS_CONFIG: InjectionToken<MagicAlertsConfig>;
declare function provideMagicAlerts(config?: MagicAlertsConfigOptions): EnvironmentProviders;

declare class MockAlertsService {
    showInfo(text: string, dismissTimeInMillis?: number): void;
    showSuccess(text: string, dismissTimeInMillis?: number): void;
    showWarning(text: string, dismissTimeInMillis?: number): void;
    showError(text: string, dismissTimeInMillis?: number): void;
    setEntryAnimation(entryAnimation: AlertEntryAnimation): void;
    setAlertAppearance(alertAppearance: AlertAppearance): void;
    clear(): void;
}

export { AlertAppearance, AlertEntryAnimation, AlertsService, DEFAULT_MAGIC_ALERTS_CONFIG, MAGIC_ALERTS_CONFIG, MockAlertsService, provideMagicAlerts };
export type { MagicAlertsConfig, MagicAlertsConfigOptions };
