/** * Universal props system for Platform Blocks components * Provides props that can be applied to all components in the library * Optimized for React Native (Expo) with web compatibility */ import { ColorScheme } from '../theme/useColorScheme'; export interface UniversalProps { /** Determines whether component should be hidden in light color scheme */ lightHidden?: boolean; /** Determines whether component should be hidden in dark color scheme */ darkHidden?: boolean; } export interface ResponsiveProps { /** Hide component above this breakpoint */ hiddenFrom?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; /** Show component only above this breakpoint */ visibleFrom?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; } export type UniversalSystemProps = UniversalProps & ResponsiveProps; /** * Generates CSS class names based on universal props */ export declare function getUniversalClasses(props: UniversalSystemProps): string[]; /** * Extracts universal props from component props */ export declare function extractUniversalProps(props: T): { universalProps: UniversalSystemProps; otherProps: Omit; }; /** * Determines if a component should be hidden based on responsive breakpoints */ export declare function shouldHideForBreakpoint(universalProps: ResponsiveProps): boolean; /** * Determines if a component should be hidden based on current color scheme * This is the primary method for React Native */ export declare function shouldHideComponent(universalProps: UniversalSystemProps, colorScheme: ColorScheme): boolean; /** * Hook to get universal styles for React Native components * Returns style objects instead of classes */ export declare function useUniversalStyles(universalProps: UniversalSystemProps, colorScheme: ColorScheme): { display?: 'none' | 'flex'; };