export interface UsePlatformReturnValue { /** True if the user is on an iPhone */ isIPhone: boolean; /** True if the user is on an iPad */ isIPad: boolean; /** True if the user is on any iOS device (iPhone or iPad) */ isIOS: boolean; /** True if the user is on a Mac computer */ isMac: boolean; /** True if the user is on any Apple device (iPhone, iPad, or Mac) */ isAppleDevice: boolean; /** True if the browser is WebKit-based (Safari, Chrome, etc.) */ isWebKit: boolean; /** True if the browser is Chrome */ isChrome: boolean; /** True if the browser is Firefox */ isFirefox: boolean; /** True if the user is on an Android device */ isAndroid: boolean; } /** * Custom hook for detecting the user's platform and browser. * * This hook provides platform and browser detection capabilities for implementing * platform-specific behavior in components. It detects: * - iOS devices (iPhone, iPad) * - macOS computers * - Android devices * - WebKit-based browsers (Safari, Chrome) * - Specific browsers (Chrome, Firefox) * * @internal This hook is not exported because it hasn't been rigorously tested. * * @returns Object containing boolean flags for different platforms and browsers * * @example * const { * isIPhone, * isIPad, * isIOS, * isMac, * isAppleDevice, * isWebKit, * isChrome, * isFirefox, * isAndroid * } = usePlatform(); * * if (isIOS) { * // Handle iOS-specific logic * } */ export declare function usePlatform(): UsePlatformReturnValue; /** * Detects the current platform and browser based on user agent and platform information. * * This function analyzes the navigator.userAgent and navigator.platform to determine * the user's device type and browser. It handles edge cases like: * - MSStream detection for Windows Phone * - iPad detection using maxTouchPoints * - WebKit vs Chrome differentiation * * @returns Object containing boolean flags for different platforms and browsers */ export declare function detectPlatform(): UsePlatformReturnValue;