import React from 'react'; /** * Hook for managing announcement queues with priorities * Gracefully handles cases where AccessibilityProvider is not available (e.g., in overlays) */ export declare const useAnnouncementQueue: () => { addToQueue: (message: string, priority?: "low" | "medium" | "high") => void; clearQueue: () => void; queueLength: number; }; /** * Elements that can receive keyboard focus, used for focus trapping and for * resolving the "first focusable child" of a container on web. */ export declare const FOCUSABLE_SELECTOR = "button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])"; /** * Unwraps a ref value to the underlying DOM node on web. Refs handed back by * `Animated.View` and other wrappers are not always the host node itself, so * fall back to the shapes those wrappers expose. */ export declare const resolveDomNode: (ref: any) => any; /** * Hook for managing focus trapping within a component * Gracefully handles cases where AccessibilityProvider is not available (e.g., in overlays) */ export declare const useFocusTrap: (isActive?: boolean) => { containerRef: React.RefObject; }; /** * Hook for keyboard navigation within a list of items */ export declare const useKeyboardNavigation: (items: string[], onSelect?: (id: string) => void) => { activeIndex: number; isFocused: boolean; handleKeyPress: (event: any) => void; focusItem: (index: number) => void; blur: () => void; activeId: string | null; }; /** * Hook for managing accessible form validation * Gracefully handles cases where AccessibilityProvider is not available (e.g., in overlays) */ export declare const useAccessibleValidation: (fieldId: string) => { errors: string[]; hasErrors: boolean; validate: (value: any, rules: ValidationRule[]) => boolean; markAsTouched: () => void; clearErrors: () => void; getAccessibilityProps: () => { 'aria-invalid': boolean; 'aria-describedby': string | undefined; }; errorId: string | undefined; }; interface ValidationRule { validator: (value: any) => boolean; message: string; } /** * Hook for managing accessible loading states * Gracefully handles cases where AccessibilityProvider is not available (e.g., in overlays) */ export declare const useAccessibleLoading: (initialLoading?: boolean) => { isLoading: boolean; loadingMessage: string; progress: number | undefined; startLoading: (message?: string) => void; stopLoading: (successMessage?: string) => void; updateProgress: (newProgress: number, message?: string) => void; getAccessibilityProps: () => { 'aria-busy': boolean; 'aria-live': string; 'aria-label': string | undefined; }; }; /** * Hook for accessible toast notifications * Gracefully handles cases where AccessibilityProvider is not available (e.g., in overlays) */ export declare const useAccessibleToast: () => { toasts: Toast[]; showToast: (message: string, type?: "success" | "error" | "warning" | "info", duration?: number) => string; removeToast: (id: string) => void; clearAllToasts: () => void; }; interface Toast { id: string; message: string; type: 'success' | 'error' | 'warning' | 'info'; duration: number; } export {};