import type { AriaAttributes } from 'react';
import type { AssignableElementProps, BaseProps, ChildrenProps, StylableProps } from '../../types/component';
import type { SpaceToken } from '../../types/tokens';
import type { ValueOrResponsive } from '../../utilities/opaque-responsive';
export declare type Display = 'flex' | 'inline-flex';
export declare type SizeOption = 'fluid' | 'min-content' | 'max-content' | 'fit-contents' | 'auto';
export declare type FlexDirection = 'column' | 'row' | 'column-reverse' | 'row-reverse';
export declare type JustifyContent = 'initial' | 'space-around' | 'space-between' | 'space-evenly' | 'stretch' | 'flex-start' | 'center' | 'flex-end';
export declare type AlignItems = 'initial' | 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline';
export declare type FlexWrap = 'wrap' | 'nowrap';
export interface StackProps extends AssignableElementProps, AriaAttributes, BaseProps, StylableProps, ChildrenProps {
    /** The flow of the stack */
    display?: Display;
    /**
     * The direction of the stack.
     * - `column` is vertical.
     * - `row` is horizontal.
     * @default 'column'
     */
    flexDirection?: ValueOrResponsive<FlexDirection>;
    /**
     * The justification of the stack's children.
     * - when direction is `column`, `justifyContent` refers to the vertical y-axis.
     * - when direction is `row`, `justifyContent` refers to the horizontal x-axis.
     */
    justifyContent?: ValueOrResponsive<JustifyContent>;
    /**
     * The alignment of the stack's children.
     * - when direction is `column`, `alignItems` refers to the horizontal x-axis.
     * - when direction is `row`, `alignItems` refers to the vertical y-axis.
     */
    alignItems?: ValueOrResponsive<AlignItems>;
    /**
     * The wrapping behavior of the stack's children.
     */
    flexWrap?: ValueOrResponsive<FlexWrap>;
    /**
     * The space between each child element.
     */
    gap?: ValueOrResponsive<SpaceToken>;
    /**
     * The height of the stack.
     */
    height?: ValueOrResponsive<SizeOption>;
    /**
     * The width of the stack.
     */
    width?: ValueOrResponsive<SizeOption>;
}
