import type { Props, Size } from '../_utils/types';
/**
 * @deprecated
 *
 * These display modes are no longer valid, please use `direction` prop
 *
 * @deprecatedSince 10.20.0
 */
export declare type DeprecatedDisplay = 'flex-column-reverse' | 'flex-column' | 'flex-inline-column-reverse' | 'flex-inline-column' | 'flex-inline-row-reverse' | 'flex-inline-row' | 'flex-row-reverse' | 'flex-row';
export declare type Display = DeprecatedDisplay | 'block' | 'flex' | 'inline' | 'inline-block' | 'inline-flex';
export declare type FlexAlign = 'baseline' | 'center' | 'flex-end' | 'flex-start' | 'normal' | 'stretch';
export declare type FlexDirection = 'column' | 'column-reverse' | 'row' | 'row-reverse';
export declare type FlexJustify = 'center' | 'flex-end' | 'flex-start' | 'normal' | 'space-around' | 'space-between' | 'space-evenly';
export declare type FlexAlignContent = FlexJustify | 'stretch';
export declare type FlexWrap = 'nowrap' | 'wrap-reverse' | 'wrap';
export declare type TextAlign = 'center' | 'left' | 'right';
export declare type MarginSize = Extract<Size, 'auto' | 'none' | 'xss' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>;
export declare type PaddingSize = Extract<Size, 'none' | 'xss' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'>;
export declare type BoxSize = MarginSize | PaddingSize | undefined;
export interface MarginOptions {
    /**
     * @since 10.19.0
     */
    margin?: MarginSize | string;
    /**
     * @since 10.19.0
     */
    marginBottom?: MarginSize;
    /**
     * @since 10.19.0
     */
    marginLeft?: MarginSize;
    /**
     * @since 10.19.0
     */
    marginRight?: MarginSize;
    /**
     * @since 10.19.0
     */
    marginTop?: MarginSize;
}
export interface PaddingOptions {
    /**
     * @since 10.19.0
     */
    padding?: PaddingSize | string;
    /**
     * @since 10.19.0
     */
    paddingBottom?: PaddingSize;
    /**
     * @since 10.19.0
     */
    paddingLeft?: PaddingSize;
    /**
     * @since 10.19.0
     */
    paddingRight?: PaddingSize;
    /**
     * @since 10.19.0
     */
    paddingTop?: PaddingSize;
}
export interface FlexOptions {
    /**
     * @since 10.19.0
     */
    alignContent?: FlexAlignContent;
    /**
     * @since 10.19.0
     */
    alignItems?: FlexAlign;
    /**
     * @since 10.19.0
     */
    alignSelf?: FlexAlign;
    /**
     * @since 10.19.0
     */
    justifyContent?: FlexJustify;
}
export interface BoxProps extends Props, FlexOptions, MarginOptions, PaddingOptions {
    /**
     * Render semantic HTML tags with browser reset and normalize CSS
     * @since 10.19.0
     */
    as?: 'ul' | 'ol' | 'li';
    /**
     * @since 10.19.0
     */
    display?: Display;
    /**
     * Alias to the `flex` property on a flexbox child.
     * @since 10.19.0
     */
    flex?: string | number;
    /**
     * Alias to the `basis` property on a flexbox child.
     * @since 10.19.0
     */
    flexBasis?: string | number;
    /**
     * Alias to the `direction` property on a flexbox child.
     * @since 10.19.0
     */
    flexDirection?: FlexDirection;
    /**
     * Alias to the `grow` property on a flexbox child.
     * @since 10.19.0
     */
    flexGrow?: string | number;
    /**
     * Alias to the `shrink` property on a flexbox child.
     * @since 10.19.0
     */
    flexShrink?: string | number;
    /**
     * Alias to the `wrap` property on a flexbox child.
     * @since 10.19.0
     */
    flexWrap?: FlexWrap;
    /**
     * * Alias to the `gap` property on a flexbox child.
     * @since 11.3.0
     */
    gap?: MarginSize | string;
    /**
     * Alias to the `order` property on a flexbox child.
     * @since 10.19.0
     */
    order?: number;
    /**
     * @since 10.19.0
     */
    tabIndex?: number;
    /**
     * @since 10.19.0
     */
    textAlign?: TextAlign;
}
export interface $BoxProps {
    /**
     * @since 10.19.0
     */
    as?: BoxProps['as'];
    /**
     * @since 10.19.0
     */
    $alignContent?: BoxProps['alignContent'];
    /**
     * @since 10.19.0
     */
    $alignItems?: BoxProps['alignItems'];
    /**
     * @since 10.19.0
     */
    $alignSelf?: BoxProps['alignSelf'];
    /**
     * @since 10.19.0
     */
    $display?: BoxProps['display'];
    /**
     * @since 10.19.0
     */
    $flex?: BoxProps['flex'];
    /**
     * @since 10.19.0
     */
    $flexBasis?: BoxProps['flexBasis'];
    /**
     * @since 10.19.0
     */
    $flexDirection?: BoxProps['flexDirection'];
    /**
     * @since 10.19.0
     */
    $flexGrow?: BoxProps['flexGrow'];
    /**
     * @since 10.19.0
     */
    $flexShrink?: BoxProps['flexShrink'];
    /**
     * @since 10.19.0
     */
    $flexWrap?: BoxProps['flexWrap'];
    /**
     * @since 11.3.0
     */
    $gap?: BoxProps['gap'];
    /**
    /**
     * @since 10.19.0
     */
    $justifyContent?: BoxProps['justifyContent'];
    /**
     * @since 10.19.0
     */
    $margin?: BoxProps['margin'];
    /**
     * @since 10.19.0
     */
    $marginBottom?: BoxProps['marginBottom'];
    /**
     * @since 10.19.0
     */
    $marginLeft?: BoxProps['marginLeft'];
    /**
     * @since 10.19.0
     */
    $marginRight?: BoxProps['marginRight'];
    /**
     * @since 10.19.0
     */
    $marginTop?: BoxProps['marginTop'];
    /**
     * @since 10.19.0
     */
    $order?: BoxProps['order'];
    /**
     * @since 10.19.0
     */
    $padding?: BoxProps['padding'];
    /**
     * @since 10.19.0
     */
    $paddingBottom?: BoxProps['paddingBottom'];
    /**
     * @since 10.19.0
     */
    $paddingLeft?: BoxProps['paddingLeft'];
    /**
     * @since 10.19.0
     */
    $paddingRight?: BoxProps['paddingRight'];
    /**
     * @since 10.19.0
     */
    $paddingTop?: BoxProps['paddingTop'];
    /**
     * @since 10.19.0
     */
    $textAlign?: BoxProps['textAlign'];
}
