/**
 * @file stackItem.stylex.ts
 * @input Uses @stylexjs/stylex
 * @output StyleX utility for stack item styling
 * @position Layout utility; used by StackItem and directly by components
 *
 * SYNC: When modified, update /packages/core/src/Stack/Stack.doc.mjs
 */
import * as stylex from '@stylexjs/stylex';
declare const crossAlignSelfStyles: Readonly<{
    readonly center: Readonly<{
        readonly alignSelf: stylex.StyleXClassNameFor<"alignSelf", "center">;
    }>;
    readonly end: Readonly<{
        readonly alignSelf: stylex.StyleXClassNameFor<"alignSelf", "flex-end">;
    }>;
    readonly start: Readonly<{
        readonly alignSelf: stylex.StyleXClassNameFor<"alignSelf", "flex-start">;
    }>;
    readonly stretch: Readonly<{
        readonly alignSelf: stylex.StyleXClassNameFor<"alignSelf", "stretch">;
    }>;
}>;
/**
 * Cross-alignment options for stack items.
 * Overrides the default cross-alignment set on the parent stack.
 */
export type StackItemCrossAlignSelf = keyof typeof crossAlignSelfStyles;
declare const sizeStyles: Readonly<{
    readonly fill: Readonly<{
        readonly flexGrow: stylex.StyleXClassNameFor<"flexGrow", 1>;
    }>;
    readonly static: Readonly<{
        readonly flexGrow: stylex.StyleXClassNameFor<"flexGrow", 0>;
        readonly flexShrink: stylex.StyleXClassNameFor<"flexShrink", 0>;
    }>;
}>;
/**
 * Size options for stack items.
 * - `static`: Item uses its intrinsic size, won't grow or shrink
 * - `fill`: Item grows to fill remaining space (flexGrow: 1)
 */
export type StackItemSize = keyof typeof sizeStyles;
export interface StackItemOptions {
    /**
     * Overrides the default cross-alignment for this item.
     * (hAlign for VStack, vAlign for HStack)
     *
     * Set cross-alignment on the stack itself and override individual
     * children as needed with this option.
     */
    crossAlignSelf?: StackItemCrossAlignSelf;
    /**
     * Size behavior of the item within the stack.
     * - `static`: Uses intrinsic size, won't grow or shrink (default)
     * - `fill`: Grows to fill remaining space
     *
     * @default "static"
     */
    size?: StackItemSize;
}
/**
 * StyleX utility to add stack item styles to any component.
 *
 * Use this to avoid wrapping components in StackItem when you need
 * direct control over flex behavior.
 *
 * @example
 * ```
 * import { stackItem } from '@astryxdesign/core/Layout';
 *
 * <div {...stylex.props(...stackItem({ size: 'fill' }))}>
 *   Content that fills remaining space
 * </div>
 * ```
 */
export declare function stackItem({ crossAlignSelf, size }?: StackItemOptions): readonly [Readonly<{
    readonly minHeight: stylex.StyleXClassNameFor<"minHeight", 0>;
    readonly minWidth: stylex.StyleXClassNameFor<"minWidth", 0>;
}>, Readonly<{
    readonly flexGrow: stylex.StyleXClassNameFor<"flexGrow", 1>;
}> | Readonly<{
    readonly flexGrow: stylex.StyleXClassNameFor<"flexGrow", 0>;
    readonly flexShrink: stylex.StyleXClassNameFor<"flexShrink", 0>;
}>, false | Readonly<{
    readonly alignSelf: stylex.StyleXClassNameFor<"alignSelf", "flex-end">;
}> | Readonly<{
    readonly alignSelf: stylex.StyleXClassNameFor<"alignSelf", "flex-start">;
}> | Readonly<{
    readonly alignSelf: stylex.StyleXClassNameFor<"alignSelf", "center">;
}> | Readonly<{
    readonly alignSelf: stylex.StyleXClassNameFor<"alignSelf", "stretch">;
}>];
export {};
//# sourceMappingURL=stackItem.stylex.d.ts.map