import { SizeValue } from '../theme/types'; import { PlatformBlocksTheme } from '../theme/types'; /** * Unified sizing system for all UI components * This ensures consistent spacing, heights, and typography across the library */ export interface ComponentSizeConfig { fontSize: number; padding: number; height: number; iconSize: number; borderRadius: number; } export declare const COMPONENT_SIZES: Record; /** * Get unified size configuration for any component */ export declare function getComponentSize(size?: SizeValue): ComponentSizeConfig; /** * Create consistent interactive element styles (buttons, inputs, etc.) */ export declare function createInteractiveStyles(theme: PlatformBlocksTheme, size?: SizeValue, variant?: 'filled' | 'outline' | 'ghost', state?: 'default' | 'hover' | 'focus' | 'disabled'): { opacity: number; minHeight: number; paddingHorizontal: number; paddingVertical: number; borderRadius: number; fontSize: number; borderWidth: number; } | { opacity: number; minHeight: number; paddingHorizontal: number; paddingVertical: number; borderRadius: number; fontSize: number; borderWidth: number; } | { borderColor: string; minHeight: number; paddingHorizontal: number; paddingVertical: number; borderRadius: number; fontSize: number; borderWidth: number; } | { opacity: number; backgroundColor: string; color: string; minHeight: number; paddingHorizontal: number; paddingVertical: number; borderRadius: number; fontSize: number; borderWidth: number; }; /** * Consistent icon sizing within components */ export declare function getIconSize(componentSize?: SizeValue, context?: 'default' | 'small' | 'large'): number; /** * Consistent spacing for component sections (left/right sections, gaps, etc.) */ export declare function getSectionSpacing(size?: SizeValue): number;