import { ReactNode } from 'react';
import { BoxProps } from '../box';
import { IconProp, IconProps } from '../icon';
import { ThemingProps } from '../theme';
export type NotificationProps = Omit<BoxProps, 'size' | 'variant'> & ThemingProps<'Notification'> & {
    /** Socket displaying a button on the right. */
    action?: ReactNode;
    /** Available theme colors for this component. @deprecated */
    colorScheme?: 'blue' | 'green' | 'red' | 'yellow';
    /** Socket displaying an icon on the left. */
    icon?: IconProp | JSX.Element;
    /** When provided, displays a close button with this function as the callback. */
    onClose?: () => void;
    /** Modifies Notification style and content based on the given status. */
    status?: NotificationStatus;
    /** Object definition of styles and content for each status. */
    statusMapping?: NotificationStatusMapping;
    /** Socket displaying text in the middle. */
    text?: ReactNode;
    /** Socket displaying title in the middle. */
    title?: ReactNode;
};
export type NotificationStatus = 'error' | 'info' | 'loading' | 'success' | 'warning' | 'bannerError' | 'bannerInfo' | 'bannerLoading' | 'bannerSuccess' | 'bannerWarning';
export type NotificationVariant = 'subtleBlue' | 'subtleRed' | 'subtleYellow' | 'subtleGreen' | 'bannerBlue' | 'bannerRed' | 'bannerYellow' | 'bannerGreen';
export type NotificationStatusMapping = Record<string, {
    iconProps: IconProps;
    variant?: NotificationProps['variant'];
}>;
//# sourceMappingURL=notification.types.d.ts.map