import { type HTMLAttributes, type ReactNode } from 'react'; import { type VariantProps } from 'class-variance-authority'; declare const liveRegionVariants: (props?: ({ visuallyHidden?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export type LiveRegionPoliteness = 'polite' | 'assertive' | 'off'; export type LiveRegionRelevant = 'additions' | 'removals' | 'text' | 'all'; export type LiveRegionElement = 'div' | 'span'; export interface LiveRegionProps extends Omit, 'role' | 'children'>, VariantProps { /** * `aria-live` politeness. `off` removes the live region announcement * but keeps the DOM container. * @default 'polite' */ politeness?: LiveRegionPoliteness; /** * Whether AT should announce the entire region on update. * @default true */ atomic?: boolean; /** * Which mutation kinds AT should announce. */ relevant?: LiveRegionRelevant; /** * Defer rendering of `children` by this many milliseconds. Useful when a * message updates within the same React commit as the region mounts — * many screen readers miss messages that appear synchronously with the * region itself. A small delay (50–150ms) makes the change observable. * @default 0 */ delay?: number; /** * Element to render. `div` is block-level (default), `span` for inline. * @default 'div' */ as?: LiveRegionElement; /** * When true (the default), the region is rendered with `sr-only` so it * is announced but not visually shown. Set to `false` to render * visibly — useful for status messages that should appear on screen. * @default true */ visuallyHidden?: boolean; children?: ReactNode; } export declare const LiveRegion: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=live-region.d.ts.map