import { ReactNode } from 'react'; /** * Tone presets for the inline dialog alert strip. * * - "warning": amber — destructive-adjacent, "you will lose this" reminders * - "info": blue — neutral context, usage hints * - "error": red — blocking validation / failure state * - "success": green — transient confirmation * * Every caller picks a tone by name; colours and the default glyph travel * together so every dialog reads the same alert consistently. */ export type GlassDialogAlertVariant = "warning" | "info" | "error" | "success"; interface GlassDialogAlertProps { /** * Drives mount/unmount through framer-motion's AnimatePresence. * `true` → slides down + fades in * `false` → slides up + fades out, then unmounts (height collapses so the * surrounding body reclaims the vertical space smoothly). * * This makes the alert a "plug-in" piece: dialogs decide whether they want * one, which tone, and when it should appear — the component handles the * motion contract. */ show: boolean; /** See {@link GlassDialogAlertVariant}. Defaults to "info". */ variant?: GlassDialogAlertVariant; /** * Override the default variant glyph. Pass `null` to suppress the icon * entirely; omit (or pass `undefined`) to use the variant default. */ icon?: ReactNode | null; children: ReactNode; className?: string; } /** * GlassDialogAlert — the canonical inline alert strip for dialog bodies. * * Slide animation rationale: the alert may appear or disappear mid-flow * (e.g. after the user acknowledges a reveal-once key). Animating height + * y + opacity prevents the rest of the body from snapping when the alert * enters/leaves, which reads much more polished than a hard mount/unmount. * * * Copy now — this will not be shown again * */ export declare function GlassDialogAlert({ show, variant, icon, children, className, }: GlassDialogAlertProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=GlassDialogAlert.d.ts.map