import { default as React } from 'react';
import { AsChildProps } from '../../utilities/polymorphism/as-child.cjs';
import { PolymorphicPropsWithRef } from '../../utilities/polymorphism/polymorphism.cjs';
export declare const SEMANTIC_SPACING: readonly ["none", "2xs", "xs", "s", "m", "l", "xl", "2xl"];
export declare const STATIC_SPACING: readonly ["0", "2", "4", "8", "12", "16", "20", "24", "28", "32", "40", "48", "56", "64", "72", "80", "104", "168"];
declare const BREAKPOINTS: readonly ["small", "medium", "large", "xl"];
export type SemanticSpacing = (typeof SEMANTIC_SPACING)[number];
export type StaticSpacing = (typeof STATIC_SPACING)[number];
export type Breakpoint = (typeof BREAKPOINTS)[number];
export type Responsive<T> = Partial<Record<Breakpoint, T>>;
export declare function isResponsive<T>(value: unknown): value is Responsive<T>;
export declare const LAYOUTS: readonly ["auto", "1", "2", "3", "4", "6", "4.8", "8.4", "2.10", "10.2", "3.9", "9.3", "5.7", "7.5"];
export type Layout = (typeof LAYOUTS)[number];
export type Center = "m" | "l" | "xl" | "2xl" | boolean;
export type DynamicGap = `${SemanticSpacing}` | `${SemanticSpacing} ${SemanticSpacing}`;
export type StaticGap = `${StaticSpacing}` | `${StaticSpacing} ${StaticSpacing}`;
export type Gap = DynamicGap | StaticGap;
type FlexBaseProps = {
    alignItems?: "normal" | "start" | "center" | "end" | "baseline" | "stretch";
    alignContent?: "normal" | "start" | "center" | "end" | "stretch" | "baseline" | "space-between" | "space-around" | "space-evenly";
    center?: Center;
    direction?: "row" | "column" | "row-reverse" | "column-reverse";
    fill?: boolean;
    gap?: Gap | Responsive<Gap>;
    inline?: boolean;
    textAlign?: "left" | "right" | "center";
    justifyContent?: "normal" | "start" | "center" | "end" | "space-between" | "space-around" | "space-evenly";
    layout?: Layout | Responsive<Layout>;
    wrap?: "wrap" | "nowrap" | "reverse";
};
export type FlexProps<As extends React.ElementType = "div"> = PolymorphicPropsWithRef<As, FlexBaseProps>;
export type FlexComponent = <ElementType extends React.ElementType = "div">(props: FlexProps<ElementType> & AsChildProps) => React.ReactElement | null;
export {};
