import React from "react";
import { PropsOf } from "../../utils/types";
export declare type NotificationContextValue = {
    onDismiss?: () => void;
    variant?: NotificationVariant;
    tone?: NotificationTone;
};
export declare type NotificationVariant = `PRIMARY` | `SECONDARY` | `SOLID`;
export declare type NotificationTone = `BRAND` | `SUCCESS` | `DANGER` | `WARNING` | `NEUTRAL`;
export declare type NotificationProps = Omit<JSX.IntrinsicElements["div"], "ref"> & {
    children?: React.ReactNode;
    variant?: NotificationVariant;
    tone?: NotificationTone;
    content?: React.ReactNode;
    contentAs?: NotificationContentProps["as"];
    linkUrl?: string;
    linkText?: React.ReactNode;
    onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>;
    isOpened?: boolean;
    onDismissButtonClick?: () => void;
    showDismissButton?: boolean;
    dismissButtonLabel?: string;
    Icon?: React.ComponentType<any>;
};
export declare function Notification({ children, tone, variant, content, contentAs, linkUrl, linkText, onLinkClick, isOpened, onDismissButtonClick, showDismissButton, dismissButtonLabel, Icon: CustomIcon, ...rest }: NotificationProps): JSX.Element | null;
declare type AllowedContentAs = "span" | "div";
export declare type NotificationContentProps = Omit<PropsOf<AllowedContentAs>, "ref"> & {
    as?: AllowedContentAs;
};
export {};
