import type { PropType } from 'vue';
import ClForm from '../form';
declare const _default: import("vue").DefineComponent<{
    /** 表单值 */
    data: {
        type: ObjectConstructor;
    };
    /** 表单协议 */
    schema: {
        type: PropType<ClForm.Schema>;
    };
    /** 协议表达式作用域 */
    scope: PropType<any>;
    /** 注册组件列表 */
    registerComponents: PropType<{
        [key: string]: ClUpsert.Component;
    } | undefined>;
    /** 副作用逻辑，用于实现各种联动逻辑 */
    formEffects: PropType<(form: ClForm.Form) => void>;
    /** 表单配置项 */
    props: PropType<{
        clearable?: boolean | undefined;
        labelAlign?: "left" | "right" | undefined;
        labelWidth?: string | number | undefined;
        span?: number | object | undefined;
        labelColProps?: object | undefined;
        wrapperColProps?: object | undefined;
        hideLabel?: boolean | undefined;
        labelColStyle?: object | undefined;
        wrapperColStyle?: object | undefined;
        rowProps?: object | undefined;
        rowClass?: any;
        contentClass?: any;
        layout?: "vertical" | "horizontal" | "inline" | undefined;
        buttonLayout?: "vertical" | "horizontal" | undefined;
        pageStyle?: string | {
            [key: string]: string;
        } | undefined;
        pageClass?: string | undefined;
        formRow?: {
            class?: string | undefined;
            style?: string | {
                [key: string]: string;
            } | undefined;
            gutter?: number | ResponsiveValue | [number | ResponsiveValue, number | ResponsiveValue] | undefined;
            justify?: "space-around" | "space-between" | "center" | "end" | "start" | undefined;
            align?: "stretch" | "center" | "end" | "start" | undefined;
            div?: boolean | undefined;
            wrap?: boolean | undefined;
        } | undefined;
    } | undefined>;
    /** 操作按钮 */
    op: {
        type: PropType<(import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | "clear" | "reset" | "search" | undefined)[] | undefined>;
        default: () => string[];
    };
    /** 搜索钩子 */
    onSearch: PropType<((data: obj, options: {
        next: (params?: obj | undefined) => Promise<{
            [key: string]: any;
            list: any[];
            pagination: ClCrud.Pagination;
        }>;
    }) => void) | undefined>;
    /** 搜索钩子 */
    onClear: PropType<((data: any) => void) | undefined>;
    /** 搜索钩子 */
    onReset: PropType<((data: any) => void) | undefined>;
    formRow: {
        type: PropType<{
            class?: string | undefined;
            style?: string | {
                [key: string]: string;
            } | undefined;
            /** 栅格间隔，单位是px 栅格间隔。可传入响应式对象写法 { xs: 4, sm: 6, md: 12}，传入数组 [ 水平间距， 垂直间距 ] 来设置两个方向 */
            gutter?: number | ResponsiveValue | [number | ResponsiveValue, number | ResponsiveValue] | undefined;
            /** 水平对齐方式 (justify-content) */
            justify?: "space-around" | "space-between" | "center" | "end" | "start" | undefined;
            /** 竖直对齐方式 ( align-items ) */
            align?: "stretch" | "center" | "end" | "start" | undefined;
            /** 开启这个选项Row和Col都会被当作div而不会附带任何Grid相关的类和样式 */
            div?: boolean | undefined;
            /** Col 是否支持换行 */
            wrap?: boolean | undefined;
        }>;
        default: () => {
            style: string;
            gutter: number[];
            justify: string;
            align: string;
            div: boolean;
            wrap: boolean;
        };
    };
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /** 表单值 */
    data: {
        type: ObjectConstructor;
    };
    /** 表单协议 */
    schema: {
        type: PropType<ClForm.Schema>;
    };
    /** 协议表达式作用域 */
    scope: PropType<any>;
    /** 注册组件列表 */
    registerComponents: PropType<{
        [key: string]: ClUpsert.Component;
    } | undefined>;
    /** 副作用逻辑，用于实现各种联动逻辑 */
    formEffects: PropType<(form: ClForm.Form) => void>;
    /** 表单配置项 */
    props: PropType<{
        clearable?: boolean | undefined;
        labelAlign?: "left" | "right" | undefined;
        labelWidth?: string | number | undefined;
        span?: number | object | undefined;
        labelColProps?: object | undefined;
        wrapperColProps?: object | undefined;
        hideLabel?: boolean | undefined;
        labelColStyle?: object | undefined;
        wrapperColStyle?: object | undefined;
        rowProps?: object | undefined;
        rowClass?: any;
        contentClass?: any;
        layout?: "vertical" | "horizontal" | "inline" | undefined;
        buttonLayout?: "vertical" | "horizontal" | undefined;
        pageStyle?: string | {
            [key: string]: string;
        } | undefined;
        pageClass?: string | undefined;
        formRow?: {
            class?: string | undefined;
            style?: string | {
                [key: string]: string;
            } | undefined;
            gutter?: number | ResponsiveValue | [number | ResponsiveValue, number | ResponsiveValue] | undefined;
            justify?: "space-around" | "space-between" | "center" | "end" | "start" | undefined;
            align?: "stretch" | "center" | "end" | "start" | undefined;
            div?: boolean | undefined;
            wrap?: boolean | undefined;
        } | undefined;
    } | undefined>;
    /** 操作按钮 */
    op: {
        type: PropType<(import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }> | "clear" | "reset" | "search" | undefined)[] | undefined>;
        default: () => string[];
    };
    /** 搜索钩子 */
    onSearch: PropType<((data: obj, options: {
        next: (params?: obj | undefined) => Promise<{
            [key: string]: any;
            list: any[];
            pagination: ClCrud.Pagination;
        }>;
    }) => void) | undefined>;
    /** 搜索钩子 */
    onClear: PropType<((data: any) => void) | undefined>;
    /** 搜索钩子 */
    onReset: PropType<((data: any) => void) | undefined>;
    formRow: {
        type: PropType<{
            class?: string | undefined;
            style?: string | {
                [key: string]: string;
            } | undefined;
            /** 栅格间隔，单位是px 栅格间隔。可传入响应式对象写法 { xs: 4, sm: 6, md: 12}，传入数组 [ 水平间距， 垂直间距 ] 来设置两个方向 */
            gutter?: number | ResponsiveValue | [number | ResponsiveValue, number | ResponsiveValue] | undefined;
            /** 水平对齐方式 (justify-content) */
            justify?: "space-around" | "space-between" | "center" | "end" | "start" | undefined;
            /** 竖直对齐方式 ( align-items ) */
            align?: "stretch" | "center" | "end" | "start" | undefined;
            /** 开启这个选项Row和Col都会被当作div而不会附带任何Grid相关的类和样式 */
            div?: boolean | undefined;
            /** Col 是否支持换行 */
            wrap?: boolean | undefined;
        }>;
        default: () => {
            style: string;
            gutter: number[];
            justify: string;
            align: string;
            div: boolean;
            wrap: boolean;
        };
    };
}>>, {
    op: (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }> | "clear" | "reset" | "search" | undefined)[] | undefined;
    formRow: {
        class?: string | undefined;
        style?: string | {
            [key: string]: string;
        } | undefined;
        /** 栅格间隔，单位是px 栅格间隔。可传入响应式对象写法 { xs: 4, sm: 6, md: 12}，传入数组 [ 水平间距， 垂直间距 ] 来设置两个方向 */
        gutter?: number | ResponsiveValue | [number | ResponsiveValue, number | ResponsiveValue] | undefined;
        /** 水平对齐方式 (justify-content) */
        justify?: "space-around" | "space-between" | "center" | "end" | "start" | undefined;
        /** 竖直对齐方式 ( align-items ) */
        align?: "stretch" | "center" | "end" | "start" | undefined;
        /** 开启这个选项Row和Col都会被当作div而不会附带任何Grid相关的类和样式 */
        div?: boolean | undefined;
        /** Col 是否支持换行 */
        wrap?: boolean | undefined;
    };
}, {}>;
export default _default;
