import { ReactNode, HTMLAttributes, ElementType } from 'react'; /** * Spacing value - can be a theme spacing index (number) or a CSS value (string) */ export type SpacingValue = number | string; /** * Alignment options for Stack cross-axis */ export type StackAlign = 'start' | 'center' | 'end' | 'stretch'; /** * Justify options for Stack main-axis */ export type StackJustify = 'start' | 'center' | 'end' | 'between' | 'around'; /** * Direction options for Stack layout */ export type StackDirection = 'vertical' | 'horizontal'; /** * Props for the Stack component */ export interface StackProps extends Omit, 'children'> { /** Stack items */ children?: ReactNode; /** Stack direction - 'vertical' (column) or 'horizontal' (row) */ direction?: StackDirection; /** Gap between items - number uses theme.spacing, string is raw CSS value */ gap?: SpacingValue; /** Cross-axis alignment (align-items) */ align?: StackAlign; /** Main-axis alignment (justify-content) */ justify?: StackJustify; /** Allow items to wrap to next line (only applies when direction="horizontal") */ wrap?: boolean; /** Polymorphic element type */ as?: ElementType; /** Additional CSS classes */ className?: string; /** Test ID (deprecated, use dataTestId) */ 'data-testid'?: string; /** Test identifier for automated testing */ dataTestId?: string; /** Data identifier for ib-ui compatibility */ dataId?: string; } //# sourceMappingURL=Stack.types.d.ts.map