import type React from "react"; /** * iOS version detection result * @interface IOSVersion */ interface IOSVersion { /** Whether the device is running iOS */ isIOS: boolean; /** Whether the browser is Safari */ isSafari: boolean; /** Major iOS version number (e.g., 26 for iOS 26) */ majorVersion: number | null; /** Minor iOS version number */ minorVersion: number | null; /** Whether this is iOS 26 or later with known bugs */ hasViewportBugs: boolean; } /** * Detects iOS version and Safari browser * @returns {IOSVersion} iOS detection result */ export declare function detectIOSVersion(): IOSVersion; /** * Configuration for iOS Safari fix * @interface IOSSafariFixConfig */ export interface IOSSafariFixConfig { /** Enable scroll-based body fix (moves scroll from window to body) */ enableScrollFix?: boolean; /** Enable keyboard visibility detection */ enableKeyboardFix?: boolean; /** Callback when keyboard visibility changes */ onKeyboardVisibilityChange?: (visible: boolean) => void; /** Enable debug logging */ debug?: boolean; } /** * Hook to apply iOS Safari viewport bug fixes * * @param {IOSSafariFixConfig} config - Configuration options * @returns {{ isKeyboardVisible: boolean; iosInfo: IOSVersion }} Hook state * * @example * ```tsx * const { isKeyboardVisible, iosInfo } = useIOSSafariFix({ * enableScrollFix: true, * enableKeyboardFix: true, * onKeyboardVisibilityChange: (visible) => console.log('Keyboard:', visible) * }); * ``` */ export declare function useIOSSafariFix(config?: IOSSafariFixConfig): { isKeyboardVisible: boolean; iosInfo: IOSVersion; }; /** * Hook to force reset fixed element positioning after iOS viewport bugs * * @param {React.RefObject} elementRef - Ref to the fixed element * @returns {{ forceReset: () => void }} Reset function * * @example * ```tsx * const navRef = useRef(null); * const { forceReset } = useIOSFixedReset(navRef); * * // Call forceReset() after keyboard dismissal or scroll issues * ``` */ export declare function useIOSFixedReset(elementRef: React.RefObject): { forceReset: () => void; }; export default useIOSSafariFix; //# sourceMappingURL=useIOSSafariFix.d.ts.map