/**
 * Copyright (c) Adaptavist, Inc.
 */
import { GenericProps } from '../../utilities';
import { ComponentPropsWithoutRef } from 'react';
export type IPlacement = 'bottomCenter' | 'bottomLeft' | 'bottomRight' | 'topCenter' | 'topLeft' | 'topRight';
export type INotification = Omit<ComponentPropsWithoutRef<'div'>, 'title'> & GenericProps & {
    /**
     * Prop to add a customized CSS class.
     *
     * Default is `an empty string`.
     */
    className?: string;
    /**
     * Prop to set the content of the notification.
     *
     * Default is `an empty string`.
     */
    content: React.ReactNode;
    /**
     * Prop to set the time (in seconds) before the notification is closed.
     *
     * To prevent a notification from closing automatically, set the duration to `-1` or any number less than 0.
     *
     * `5` seconds is the default time.
     */
    duration?: number;
    /**
     * Prop to denote the position of the notification box.
     *
     * Default is `an empty string`.
     */
    placement?: IPlacement;
    /**
     * Prop to add customized inline styles.
     *
     * Default is `an empty string`.
     */
    style?: React.CSSProperties;
    /**
     * Prop to set the title of the notification box.
     *
     * Default is `an empty string`.
     */
    title?: React.ReactNode;
};
export type IInnerNotification = INotification & {
    type: 'error' | 'info' | 'success' | 'warning';
    removeNotification: (uuid: string) => void;
    uuid: string;
};
export type IEvent = Event & {
    detail?: IInnerNotification;
};
