import { type HTMLAttributes } from "react";
import type { OverridableComponent } from "../../utils-external";
import { type PrimitiveProps } from "../base/BasePrimitive";
import type { PrimitiveAsChildProps } from "../base/PrimitiveAsChildProps";
import type { ResponsiveProp, SpacingScale } from "../utilities/types";
export type StackProps = HTMLAttributes<HTMLDivElement> & {
    /**
     * CSS `justify-content` property.
     *
     * @example
     * justify='center'
     * justify={{xs: 'start', sm: 'center', md: 'end', lg: 'space-around', xl: 'space-between'}}
     */
    justify?: ResponsiveProp<"start" | "center" | "end" | "space-around" | "space-between" | "space-evenly">;
    /**
     * CSS `align-items` property.
     * @default "stretch"
     *
     * @example
     * align='center'
     * align={{xs: 'start', sm: 'center', md: 'end', lg: 'baseline', xl: 'stretch'}}
     */
    align?: ResponsiveProp<"start" | "center" | "end" | "baseline" | "stretch">;
    /**
     * Sets the CSS `flex-wrap` property.
     */
    wrap?: boolean;
    /**
     * CSS `gap` property.
     * Accepts a [spacing token](https://aksel.nav.no/grunnleggende/styling/design-tokens#space)
     * or an object of spacing tokens for different breakpoints.
     *
     * @example
     * gap='space-16'
     * gap='space-32 space-16'
     * gap={{xs: 'space-8', sm: 'space-12', md: 'space-16', lg: 'space-20', xl: 'space-24'}}
     */
    gap?: ResponsiveProp<SpacingScale | `${SpacingScale} ${SpacingScale}`>;
    /**
     * CSS `flex-direction` property.
     * @default "row"
     *
     * @example
     * direction='row'
     * direction={{xs: 'row', sm: 'column'}}
     */
    direction?: ResponsiveProp<"row" | "column" | "row-reverse" | "column-reverse">;
} & PrimitiveProps & PrimitiveAsChildProps;
export declare const Stack: OverridableComponent<StackProps, HTMLDivElement>;
export default Stack;
