import React from 'react'; export type AlertIntent = 'neutral' | 'primary' | 'success' | 'warning' | 'error' | 'information'; export type AlertEmphasis = 'subtle' | 'solid'; export type AlertLayout = 'inline' | 'banner'; export interface AlertProps extends Omit, 'title'> { /** Matches the Figma `Intent` variant. Same vocabulary as `Badge`. */ intent?: AlertIntent; /** Matches the Figma `Emphasis` variant. */ emphasis?: AlertEmphasis; /** Matches the Figma `Layout` variant. */ layout?: AlertLayout; /** Optional heading above the message. */ title?: React.ReactNode; /** Hide the leading icon. Shown by default. */ hideIcon?: boolean; /** Replace the intent's glyph. */ icon?: React.ReactNode; /** Action buttons, rendered under the message. */ actions?: React.ReactNode; /** Called when the dismiss button is pressed. Omit for no dismiss button. */ onDismiss?: () => void; /** Accessible name for the dismiss button. */ dismissLabel?: string; /** The message. */ children?: React.ReactNode; } /** * Alert — Figma `Alert` (812:1902). * * `Intent` x `Emphasis` x `Layout`, with the parts as props rather than * variants. Intents match `Badge` exactly, so a status mapped to one can be * passed to the other. * * ROLE IS CHOSEN BY INTENT, NOT PASSED IN. `error` and `warning` render * `role="alert"`, which interrupts a screen reader; the rest render * `role="status"`, which waits for a pause. Getting this backwards is the * common failure — a page of `role="alert"` status messages talks over the * user, and an error announced as a status is missed. * * The icon is decorative: it repeats what the intent's colour and copy already * say, so it is `aria-hidden` and the live region carries the text alone. */ export declare const Alert: React.ForwardRefExoticComponent>; //# sourceMappingURL=Alert.d.ts.map