import { Renderable, TNode, Value } from '@tempots/dom';
import { ThemeColorName } from '@/tokens/colors';
import { RadiusName } from '@/tokens/radius';
export type NotificationOptions = {
    loading?: Value<boolean>;
    withCloseButton?: Value<boolean>;
    withBorder?: Value<boolean>;
    color?: Value<ThemeColorName>;
    radius?: Value<RadiusName>;
    title?: TNode;
    icon?: Value<string | undefined>;
    onClose?: () => void;
    class?: Value<string | undefined>;
};
export declare function generateNotificationClasses(withBorder: boolean, hasIcon: boolean, hasCloseButton: boolean, loading: boolean, extra?: string): string;
export declare function generateNotificationStyles(color: ThemeColorName, radius: RadiusName): string;
export declare function Notification({ loading, withCloseButton, withBorder, color, radius, title, icon, onClose, class: cls, }?: NotificationOptions, ...children: TNode[]): Renderable;
