import React from 'react';
export interface IFormLayoutProps {
    prefix?: string;
    className?: string;
    style?: React.CSSProperties;
    colon?: boolean;
    labelAlign?: 'right' | 'left' | ('right' | 'left')[];
    wrapperAlign?: 'right' | 'left' | ('right' | 'left')[];
    labelWrap?: boolean;
    labelWidth?: number;
    wrapperWidth?: number;
    wrapperWrap?: boolean;
    labelCol?: number | number[];
    wrapperCol?: number | number[];
    fullness?: boolean;
    size?: 'small' | 'default' | 'large';
    layout?: 'vertical' | 'horizontal' | 'inline' | ('vertical' | 'horizontal' | 'inline')[];
    direction?: 'rtl' | 'ltr';
    inset?: boolean;
    shallow?: boolean;
    tooltipLayout?: 'icon' | 'text';
    tooltipIcon?: React.ReactNode;
    feedbackLayout?: 'loose' | 'terse' | 'popover' | 'none';
    bordered?: boolean;
    breakpoints?: number[];
    gridColumnGap?: number;
    gridRowGap?: number;
    spaceGap?: number;
}
export interface IFormLayoutContext extends Omit<IFormLayoutProps, 'labelAlign' | 'wrapperAlign' | 'layout' | 'labelCol' | 'wrapperCol'> {
    labelAlign?: 'right' | 'left';
    wrapperAlign?: 'right' | 'left';
    layout?: 'vertical' | 'horizontal' | 'inline';
    labelCol?: number;
    wrapperCol?: number;
}
export declare const FormLayoutDeepContext: React.Context<IFormLayoutContext>;
export declare const FormLayoutShallowContext: React.Context<IFormLayoutContext>;
export declare const useFormDeepLayout: () => IFormLayoutContext;
export declare const useFormShallowLayout: () => IFormLayoutContext;
export declare const useFormLayout: () => {
    labelAlign?: "right" | "left" | undefined;
    wrapperAlign?: "right" | "left" | undefined;
    layout?: "inline" | "vertical" | "horizontal" | undefined;
    labelCol?: number | undefined;
    wrapperCol?: number | undefined;
    breakpoints?: number[] | undefined;
    prefix?: string | undefined;
    className?: string | undefined;
    style?: React.CSSProperties | undefined;
    colon?: boolean | undefined;
    labelWrap?: boolean | undefined;
    labelWidth?: number | undefined;
    wrapperWidth?: number | undefined;
    wrapperWrap?: boolean | undefined;
    fullness?: boolean | undefined;
    size?: "default" | "large" | "small" | undefined;
    direction?: "ltr" | "rtl" | undefined;
    inset?: boolean | undefined;
    shallow?: boolean | undefined;
    tooltipLayout?: "text" | "icon" | undefined;
    tooltipIcon?: React.ReactNode;
    feedbackLayout?: "none" | "loose" | "terse" | "popover" | undefined;
    bordered?: boolean | undefined;
    gridColumnGap?: number | undefined;
    gridRowGap?: number | undefined;
    spaceGap?: number | undefined;
};
export declare const FormLayout: React.FC<React.PropsWithChildren<IFormLayoutProps>> & {
    useFormLayout: () => IFormLayoutContext;
    useFormDeepLayout: () => IFormLayoutContext;
    useFormShallowLayout: () => IFormLayoutContext;
};
export default FormLayout;
