import type { HTMLAttributes, ReactNode } from 'react';
export type AriaLive = 'off' | 'polite' | 'assertive';
export declare const resetLiveRegionAnnouncementQueue: () => void;
export interface LiveRegionProps extends Omit<HTMLAttributes<HTMLDivElement>, '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