import type { DividerWeight, Space, SpaceWithNegatives, WithEnhancedClassName } from '../utils/common-types'; import type { ResponsiveProp } from '../utils/responsive-props'; interface BoxPaddingProps { padding?: ResponsiveProp; paddingX?: ResponsiveProp; paddingY?: ResponsiveProp; paddingTop?: ResponsiveProp; paddingRight?: ResponsiveProp; paddingBottom?: ResponsiveProp; paddingLeft?: ResponsiveProp; } interface BoxMarginProps { margin?: ResponsiveProp; marginX?: ResponsiveProp; marginY?: ResponsiveProp; marginTop?: ResponsiveProp; marginRight?: ResponsiveProp; marginBottom?: ResponsiveProp; marginLeft?: ResponsiveProp; } type BoxDisplay = 'block' | 'flex' | 'inline' | 'inlineBlock' | 'inlineFlex' | 'none'; type BoxFlexDirection = 'column' | 'row'; type BoxFlexWrap = 'nowrap' | 'wrap'; type BoxAlignItems = 'center' | 'flexEnd' | 'flexStart' | 'baseline'; type BoxJustifyContent = 'center' | 'flexEnd' | 'flexStart' | 'spaceAround' | 'spaceBetween' | 'spaceEvenly'; type BoxAlignSelf = 'flexStart' | 'flexEnd' | 'center' | 'baseline' | 'stretch'; type BoxOverflow = 'hidden' | 'auto' | 'visible' | 'scroll'; type BoxMaxMinWidth = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'; type BoxMinWidth = 0 | BoxMaxMinWidth; type BoxMaxWidth = BoxMaxMinWidth | 'full'; type BoxWidth = 0 | BoxMaxMinWidth | 'full' | 'auto' | 'maxContent' | 'minContent' | 'fitContent'; type BoxBackground = 'default' | 'aside' | 'highlight' | 'selected' | 'toast'; type BoxBorderRadius = 'standard' | 'none' | 'full'; interface BorderProps { borderRadius?: BoxBorderRadius; border?: DividerWeight; } interface ReusableBoxProps extends BorderProps, BoxPaddingProps { minWidth?: BoxMinWidth; maxWidth?: BoxMaxWidth; width?: BoxWidth; background?: BoxBackground; flexGrow?: 0 | 1; flexShrink?: 0; } type BoxPosition = 'absolute' | 'fixed' | 'relative' | 'static' | 'sticky'; type BoxTextAlign = 'start' | 'center' | 'end' | 'justify'; interface BoxProps extends WithEnhancedClassName, ReusableBoxProps, BoxMarginProps { position?: ResponsiveProp; display?: ResponsiveProp; flexDirection?: ResponsiveProp; flexWrap?: BoxFlexWrap; gap?: ResponsiveProp; alignItems?: ResponsiveProp; alignSelf?: ResponsiveProp; justifyContent?: ResponsiveProp; overflow?: BoxOverflow; height?: 'full'; textAlign?: ResponsiveProp; /** * The `overlayScroll` prop enables a modern scrollbar experience where the scrollbar is hidden * by default and appears on hover. This provides a cleaner interface while maintaining full scrollability. * * Scrollbar appearance may be affected by macOS system settings, * such as "Show scroll bars: Automatically/When scrolling/Always". * This can override or change the effect of these styles on Mac devices. */ overlayScroll?: boolean; } declare function getBoxClassNames({ position, display, flexDirection, flexWrap, flexGrow, flexShrink, gap, alignItems, justifyContent, alignSelf, overflow, width, height, background, border, borderRadius, minWidth, maxWidth, textAlign, padding, paddingY, paddingX, paddingTop, paddingRight, paddingBottom, paddingLeft, margin, marginY, marginX, marginTop, marginRight, marginBottom, marginLeft, overlayScroll, className, }: BoxProps): string; declare const Box: import("../utils/polymorphism").PolymorphicComponent<"div", BoxProps, "keepClassName">; export type { BoxAlignItems, BoxBackground, BoxBorderRadius, BoxDisplay, BoxFlexDirection, BoxFlexWrap, BoxJustifyContent, BoxMarginProps, BoxMaxWidth, BoxMinWidth, BoxOverflow, BoxPaddingProps, BoxPosition, BoxProps, BoxTextAlign, ReusableBoxProps, }; export { Box, getBoxClassNames };