export declare const ARIA_LIVE_REGION_ALERT_ID = "ds-alert-live-region";
export declare const ARIA_LIVE_REGION_STATUS_ID = "ds-status-live-region";
export declare const getAriaAlertLiveRegionElement: () => HTMLElement | null | undefined;
export declare const getAriaStatusLiveRegionElement: () => HTMLElement | null | undefined;
export declare const validateMultipleDSAriaLiveRegionsOnPage: () => void;
/**
* Ensures the two DS live regions exist exactly once on the page, directly under
.
* - If both exist: no-op.
* - If none exist: injects them under document.body.
* - If only one exists: throws (broken page state).
* - If duplicates exist: throws (existing validation).
*
* ## Background: Micro-Frontend / AEM Web Component Support
*
* This function was introduced to support complex hosting environments where React components
* are compiled into Web Components and embedded via systems like AEM (Adobe Experience Manager).
*
* In these setups:
* - React components become self-contained widgets, not full SPAs
* - Multiple independent micro-frontends may exist on a single page
* - Each micro-frontend has its own encapsulated React/VDOM render process
* - Web Components render sequentially based on DOM registration order
* - Shadow DOM is typically disabled, so elements are detectable across components
*
* ### The Problem
*
* The standard `` placement guideline ("as close to `` as possible")
* is impossible to follow when components can only be placed at the root of each Web Component
* wrapper, not the actual document body. This creates two failure modes:
*
* 1. **Missing live regions**: If no static HTML snippet exists and the component isn't rendered,
* dependent components (DSChipGroup, DSToast, etc.) throw errors.
* 2. **Duplicate live regions**: Multiple Web Components each rendering their own live regions
* creates invalid HTML (duplicate IDs) and unpredictable screen reader behavior.
*
* ### Why Placement Matters for Accessibility
*
* A mode that allows `DSAriaLiveRegions` to render inside arbitrary micro-frontend wrappers
* is risky for accessibility. Those wrappers can later become `aria-hidden`, `inert`, `hidden`,
* or be moved under a `