import React from 'react';
import type { IconDefinition } from '@fortawesome/fontawesome-common-types';
import { EVENTS, Events } from './types';
type NotificationOptions = {
    title?: string;
    retry?: () => void;
    action?: () => void;
    actionIcon?: IconDefinition;
    href?: string;
    target?: string;
    disableAutoDismiss?: boolean;
    extraData?: any;
};
declare class NotificationServiceCreator {
    subscriptionCallback: (() => void) | undefined;
    subscribe(event: Events, callback: (value?: React.SetStateAction<any>) => void): {
        cancel: () => void;
    };
    info(message: string, options?: NotificationOptions): void;
    success(message: string, options?: NotificationOptions): void;
    warn(message: string, options?: NotificationOptions): void;
    error(message: string, options?: NotificationOptions): void;
    block(): void;
    unblock(): void;
    /**
     *dismiss all shown notifications at once
     */
    dismissAll(): void;
}
declare const NotificationService: NotificationServiceCreator;
export { NotificationService, EVENTS };
