import type { Argument as ClassNameArgument } from 'classnames'; import * as React from 'react'; import type { CommonProps } from '../common_props/common_props'; import type { Space } from '../../metrics/metrics'; import type { ResponsiveValue } from '../../responsive/responsive'; import type { AlignItems, AlignSelf, Background, Border, BorderRadius, Color, Display, FlexDirection, FlexItemBehavior, FlexWrap, Gap, JustifyContent, MinSize, Position, PositionInset, Shadow, Size } from './atoms'; export type { Background, Border, JustifyContent } from './atoms'; type CustomProperties = { [varName: `--${string}`]: string | number | undefined; }; export type UseBoxOptions = { background?: Background borderRadius?: BorderRadius border?: Border borderTop?: Border borderBottom?: Border borderStart?: Border borderEnd?: Border color?: Color shadow?: Shadow width?: Size height?: Size minWidth?: MinSize minHeight?: MinSize display?: ResponsiveValue flex?: FlexItemBehavior flexDirection?: ResponsiveValue flexWrap?: FlexWrap justifyContent?: JustifyContent alignItems?: AlignItems alignSelfInFlex?: AlignSelf alignSelfInGrid?: AlignSelf gap?: Gap rowGap?: Gap columnGap?: Gap padding?: ResponsiveValue paddingX?: ResponsiveValue paddingY?: ResponsiveValue paddingTop?: ResponsiveValue paddingBottom?: ResponsiveValue paddingStart?: ResponsiveValue paddingEnd?: ResponsiveValue position?: Position inset?: PositionInset start?: PositionInset end?: PositionInset top?: PositionInset bottom?: PositionInset className?: ClassNameArgument customProperties?: CustomProperties }; export declare function useBox(options: UseBoxOptions): { className: string; style: React.CSSProperties; }; export type BoxProps = UseBoxOptions & CommonProps & { ref?: React.Ref children?: React.ReactNode tabIndex?: -1 }; export declare function Box(props: BoxProps): React.ReactNode;