import React from 'react';
import { BoxProps, ElementProps, MantineSize, PolymorphicFactory, StyleProp, StylesApiProps } from '../../core';
export type FlexStylesNames = 'root';
export interface FlexProps extends BoxProps, StylesApiProps<FlexFactory>, ElementProps<'div'> {
    /** `gap` CSS property */
    gap?: StyleProp<MantineSize | (string & {}) | number>;
    /** `row-gap` CSS property */
    rowGap?: StyleProp<MantineSize | (string & {}) | number>;
    /** `column-gap` CSS property */
    columnGap?: StyleProp<MantineSize | (string & {}) | number>;
    /** `align-items` CSS property */
    align?: StyleProp<React.CSSProperties['alignItems']>;
    /** `justify-content` CSS property */
    justify?: StyleProp<React.CSSProperties['justifyContent']>;
    /** `flex-wrap` CSS property */
    wrap?: StyleProp<React.CSSProperties['flexWrap']>;
    /** `flex-direction` CSS property */
    direction?: StyleProp<React.CSSProperties['flexDirection']>;
}
export type FlexFactory = PolymorphicFactory<{
    props: FlexProps;
    defaultRef: HTMLDivElement;
    defaultComponent: 'div';
    stylesNames: FlexStylesNames;
}>;
export declare const Flex: (<C = "div">(props: import("../../core/factory/create-polymorphic-component").PolymorphicComponentProps<C, FlexProps>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) & Omit<React.FunctionComponent<(FlexProps & {
    component?: any;
} & Omit<Omit<any, "ref">, "component" | keyof FlexProps> & {
    ref?: any;
    renderRoot?: ((props: any) => any) | undefined;
}) | (FlexProps & {
    component: React.ElementType<any>;
    renderRoot?: ((props: Record<string, any>) => any) | undefined;
})>, never> & import("../../core/factory/factory").ThemeExtend<{
    props: FlexProps;
    defaultRef: HTMLDivElement;
    defaultComponent: 'div';
    stylesNames: FlexStylesNames;
}> & import("../../core/factory/factory").ComponentClasses<{
    props: FlexProps;
    defaultRef: HTMLDivElement;
    defaultComponent: 'div';
    stylesNames: FlexStylesNames;
}> & Record<string, never>;
