import { type ReactNode } from "react";
import { type GridProps } from "@mui/material";
export declare const FormLayoutContext: import("react").Context<IFormLayoutContext>;
export declare const useFormLayout: () => IFormLayoutContext;
export declare const FormLayout: import("react").MemoExoticComponent<import("@formily/react").ReactFC<Omit<FormLayoutProps & {
    children?: ReactNode;
}, "ref">>>;
export interface FormLayoutCols {
    xs?: GridProps["xs"];
    sm?: GridProps["xs"];
    md?: GridProps["xs"];
    lg?: GridProps["xs"];
    xl?: GridProps["xs"];
}
interface IFormLayoutContext extends CommonLayoutProps {
    /** 传递给下层formField，是否包裹FormItemBase
     * @default true
     */
    withFormItem?: boolean;
}
export interface CommonLayoutProps {
    /** Input Select组件显示border上的标签 */
    showInnerLabel?: boolean;
    /** lable/title显示的位置 */
    labelPosition?: "top" | "left" | "inner";
    labelWidth?: number | string;
    labelAlign?: "left" | "right";
    labelWrap?: boolean;
    wrapperAlign?: "left" | "right";
    wrapperWrap?: boolean;
    wrapperWidth?: number | string;
    /**
     * 子项fullWidth?
     * @default true
     */
    fullWidth?: boolean;
    /** label/title显示冒号? */
    colon?: boolean;
    tooltipIcon?: ReactNode;
    /** 帮助文本显示方式, text:在问题上显示tooltip, icon:在图标上显示tooltip */
    tooltipLayout?: "text" | "icon";
    /** 显示反馈/错误信息? */
    showFeedback?: boolean;
    /** 反馈/错误文本显示方式： text：以文本方式显示在组件下方, popover:以在图片上的tooltip方式显示在组件右侧 */
    feedbackLayout?: "popover" | "text";
    /** 手动指定不从外层Field获取信息 */
    noField?: boolean;
    keepFeedbackSpace?: boolean;
}
export interface FormLayoutProps extends IFormLayoutContext, Omit<GridProps, "item"> {
    /** 手动指定无需获取form信息 */
    noForm?: boolean;
    /** 默认Grid布局
     * @default { xs: 6, sm: 4, md: 3, xl: 2 }
     */
    defaultCols?: FormLayoutCols;
}
export {};
