import type { HTMLAttributes, ReactNode } from 'react';
export type AriaLive = 'off' | 'polite' | 'assertive';
export declare const resetLiveRegionAnnouncementQueue: () => void;
export interface LiveRegionProps extends Omit, 'role' | 'aria-live' | 'aria-atomic'> {
/**
* Determines urgency: 'assertive' interrupts, 'polite' waits for idle, 'off' disables live region.
*/
'aria-live': AriaLive;
/** Optional stable key that triggers a new announcement when it changes. */
announceOnChange?: string | number;
/** Test ID for testing tools */
'data-testid'?: string;
children?: ReactNode;
}
/**
* Renders an ARIA live region with the correct implicit role.
*
* - `aria-live="polite"` → `role="status"`
* - `aria-live="assertive"` → `role="alert"`
* - `aria-live="off"` → no live region (renders children unwrapped)
*
* The `role` prop is intentionally excluded from the public API
* to prevent mismatches between `aria-live` and `role`.
*/
export declare const LiveRegion: ({ "aria-live": ariaLive, announceOnChange, children, className, ...props }: LiveRegionProps) => import("react").JSX.Element;
//# sourceMappingURL=LiveRegion.d.ts.map