import React from "react";
interface AccessibilityPreferences {
    prefersReducedMotion: boolean;
    prefersHighContrast: boolean;
    prefersLargeText: boolean;
    supportsTouchOnly: boolean;
    screenReaderActive: boolean;
}
interface TouchTarget {
    minSize: number;
    spacing: number;
    feedbackDuration: number;
}
interface MobileAccessibilityEnhancerProps {
    children: React.ReactNode;
    enableHapticFeedback?: boolean;
    enableVoiceAnnouncements?: boolean;
    touchTargetSize?: TouchTarget;
    className?: string;
}
export declare function useAccessibilityPreferences(): AccessibilityPreferences;
export declare function useHapticFeedback(enabled?: boolean): (type?: "light" | "medium" | "heavy" | "error") => void;
export declare function useVoiceAnnouncements(enabled?: boolean): (message: string, priority?: "polite" | "assertive") => void;
interface TouchButtonProps {
    children: React.ReactNode;
    onClick: () => void;
    disabled?: boolean;
    variant?: "primary" | "secondary" | "ghost";
    size?: "sm" | "md" | "lg";
    className?: string;
    ariaLabel?: string;
    hapticFeedback?: boolean;
}
export declare function TouchButton({ children, onClick, disabled, variant, size, className, ariaLabel, hapticFeedback, }: TouchButtonProps): import("react/jsx-runtime").JSX.Element;
interface TouchInputProps {
    value: string;
    onChange: (value: string) => void;
    onSubmit?: () => void;
    placeholder?: string;
    disabled?: boolean;
    className?: string;
    ariaLabel?: string;
    autoFocus?: boolean;
}
export declare function TouchInput({ value, onChange, onSubmit, placeholder, disabled, className, ariaLabel, autoFocus, }: TouchInputProps): import("react/jsx-runtime").JSX.Element;
export declare function MobileAccessibilityEnhancer({ children, enableHapticFeedback, enableVoiceAnnouncements, touchTargetSize, className, }: MobileAccessibilityEnhancerProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=mobile-accessibility-enhancer.d.ts.map