/** * Responsive Hook Type Definitions */ import type { DeviceType, IPadLayoutInfo } from '../../device/detection'; import type { ResponsiveModalLayout, ResponsiveBottomSheetLayout, ResponsiveDialogLayout } from '../responsive'; import type { ResponsiveTabBarConfig, ScreenLayoutConfig } from '../responsiveLayout'; export interface UseResponsiveReturn { readonly width: number; readonly height: number; readonly isSmallDevice: boolean; readonly isTabletDevice: boolean; readonly isLandscapeDevice: boolean; readonly deviceType: DeviceType; readonly insets: { readonly top: number; readonly bottom: number; readonly left: number; readonly right: number; }; readonly iPadLayout: IPadLayoutInfo | null; readonly logoSize: number; readonly inputHeight: number; readonly iconContainerSize: number; readonly maxContentWidth: number; readonly minTouchTarget: number; readonly horizontalPadding: number; readonly verticalPadding: number; readonly bottomPosition: number; readonly fabPosition: { readonly bottom: number; readonly right: number; }; readonly screenLayoutConfig: ScreenLayoutConfig; readonly modalMaxHeight: string; readonly modalMinHeight: number; readonly gridColumns: number; readonly spacingMultiplier: number; readonly tabBarConfig: ResponsiveTabBarConfig; readonly modalLayout: ResponsiveModalLayout; readonly bottomSheetLayout: ResponsiveBottomSheetLayout; readonly dialogLayout: ResponsiveDialogLayout; readonly onboardingIconSize: number; readonly onboardingIconMarginTop: number; readonly onboardingIconMarginBottom: number; readonly onboardingTitleMarginBottom: number; readonly onboardingDescriptionMarginTop: number; readonly onboardingTextPadding: number; readonly getLogoSize: (baseSize?: number) => number; readonly getInputHeight: (baseHeight?: number) => number; readonly getIconSize: (baseSize?: number) => number; readonly getMaxWidth: (baseWidth?: number) => number; readonly getFontSize: (baseFontSize: number) => number; readonly getGridCols: (mobile?: number, tablet?: number) => number; }