/**
 * Configuration options for ARIA live region
 */
export interface UseAriaLiveRegionOptions {
    /** Politeness level for screen reader announcements */
    politeness?: 'polite' | 'assertive' | 'off';
    /** Whether to announce all content as one atomic unit */
    atomic?: boolean;
    /** What type of changes to announce */
    relevant?: 'additions' | 'removals' | 'text' | 'all';
    /** Custom container element ID (defaults to auto-generated) */
    containerId?: string;
}
/**
 * Return value from useAriaLiveRegion
 */
export interface UseAriaLiveRegionReturn {
    /** Function to announce a message to screen readers */
    announce: (message: string) => void;
    /** Component to render the live region portal */
    LiveRegion: React.FC;
    /** Container element ID for aria-describedby if needed */
    regionId: string;
}
/**
 * useAriaLiveRegion - Creates accessible screen reader announcements
 *
 * This hook provides a centralized way to make announcements to screen reader users.
 * It uses a portal-based live region to avoid multiple aria-live elements on the page.
 *
 * WCAG References:
 * - 4.1.3 Status Messages (Level A - at least AA)
 * - WAI-ARIA 1.2 Live Regions
 *
 * @example
 * ```typescript
 * const { announce, LiveRegion, regionId } = useAriaLiveRegion({
 *   politeness: 'polite'
 * });
 *
 * // Announce search results
 * useEffect(() => {
 *   if (totalMatches > 0) {
 *     announce(`Found ${totalMatches} matches`);
 *   }
 * }, [totalMatches, announce]);
 *
 * return (
 *   <>
 *     <SearchInput aria-describedby={regionId} />
 *     <LiveRegion />
 *   </>
 * );
 * ```
 */
export declare const useAriaLiveRegion: (options?: UseAriaLiveRegionOptions) => UseAriaLiveRegionReturn;
//# sourceMappingURL=useAriaLiveRegion.d.ts.map