import type { RefObject } from "react";

export interface UseKeyboardHeightOptions {
  targetRef?: RefObject<HTMLElement | null>;
  active?: boolean;
  onKeyboardDismiss?: () => void;
}

export interface ViewportMetrics {
  hasVisualViewport: boolean;
  hasVirtualKeyboard: boolean;
  layoutHeight: number;
  visibleHeight: number;
  visibleBottom: number;
  keyboardHeight: number;
}

export interface KeyboardAdaptEnvironment {
  platform: string;
  osName: string;
  osVersion: string;
  deviceVendor: string;
  deviceModel: string;
  isAndroid: boolean;
  isIOS: boolean;
  isMobile: boolean;
  browserName: string;
  browserVersion: string;
  isInAppBrowser: boolean;
  inAppBrowserName: string | null;
  isXiaomiFamilyDevice: boolean;
  isFacebookInAppBrowser: boolean;
  hasVisualViewport: boolean;
  hasVirtualKeyboard: boolean;
  usesXiaomiFacebookFallback: boolean;
}
