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