import React from 'react';
import type { IconDefinition } from '@fortawesome/fontawesome-common-types';
import { ValueOf } from '../types';
export declare const NOTIFICATION_LEVEL: {
    readonly INFO: "INFO";
    readonly SUCCESS: "SUCCESS";
    readonly WARNING: "WARNING";
    readonly FAILURE: "FAILURE";
};
export type NotificationLevel = ValueOf<typeof NOTIFICATION_LEVEL>;
export declare const EVENTS: {
    readonly NOTIFICATION_SHOW: "NOTIFICATION_SHOW";
    readonly NOTIFICATIONS_DISMISS_ALL: "NOTIFICATIONS_DISMISS_ALL";
};
export type Events = ValueOf<typeof EVENTS>;
export declare const MIN_DISMISS_DELAY = 6000;
export declare const MAX_DISMISS_DELAY = 8000;
export type Notification = {
    message: string;
    level: NotificationLevel;
    title?: string;
    disableAutoDismiss?: boolean;
    action?: () => void;
    actionIcon?: IconDefinition;
    href?: string;
    target?: string;
    LinkComponent?: React.ComponentType<LinkComponentProps>;
};
export interface LinkComponentProps extends Notification {
    className: string;
    testId: string;
}
export type EventNotification = {
    type: Events;
    option?: Notification;
};
