import React from "react";
import { FlexAlign as FlexAlignEnum, FlexDirection as FlexDirectionEnum, FlexGap as FlexGapEnum, FlexJustify as FlexJustifyEnum } from "./FlexConstants";
import { type FlexDirection, type FlexJustify, type FlexAlign, type FlexGap, type FlexShorthand } from "./Flex.types";
import { type ElementContent, type VibeComponentProps } from "../../types";
export interface FlexProps extends VibeComponentProps {
    /**
     * Inline styles applied to the flex container.
     */
    style?: object;
    /**
     * The direction of the flex container.
     */
    direction?: FlexDirection;
    /**
     * The HTML element or component used as the root.
     */
    elementType?: React.ElementType;
    /**
     * If true, allows wrapping of flex items.
     */
    wrap?: boolean;
    /**
     * The content inside the flex container.
     */
    children?: ElementContent | ElementContent[];
    /**
     * Defines how flex items are aligned along the main axis.
     */
    justify?: FlexJustify;
    /**
     * Defines how flex items are aligned along the cross axis.
     */
    align?: FlexAlign;
    /**
     * The gap between flex items.
     */
    gap?: FlexGap | number;
    /**
     * The flex shorthand of the flex container.
     */
    flex?: FlexShorthand;
    /**
     * The label of the flex container for accessibility.
     */
    ariaLabel?: string;
    /**
     * The tab order of the element.
     */
    tabIndex?: number;
    /**
     * Callback fired when the flex container is clicked.
     */
    onClick?: (event: React.MouseEvent) => void;
    /**
     * Callback fired when the mouse button is pressed on the flex container.
     */
    onMouseDown?: (event: React.MouseEvent) => void;
    /**
     * ID of the element describing the flex container.
     */
    ariaLabelledby?: string;
}
declare const _default: React.ForwardRefExoticComponent<FlexProps & React.RefAttributes<HTMLElement>> & {
    justify: typeof FlexJustifyEnum;
    align: typeof FlexAlignEnum;
    gaps: typeof FlexGapEnum;
    directions: typeof FlexDirectionEnum;
};
export default _default;
