import type { PropType } from 'vue';
import ClForm from '../form';
declare const _default: import("vue").DefineComponent<{
    /** 表单值 */
    data: {
        type: ObjectConstructor;
    };
    /** 表单协议 */
    schema: {
        type: PropType<Record<string, 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>;
    /** 标题 */
    title: StringConstructor;
    /** 窗体大小 */
    size: {
        type: StringConstructor[];
        default: string;
    };
    /** 操作按钮 */
    op: {
        type: PropType<any[] | undefined>;
    };
    /** 搜索钩子 */
    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>;
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "reset")[], "clear" | "reset", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /** 表单值 */
    data: {
        type: ObjectConstructor;
    };
    /** 表单协议 */
    schema: {
        type: PropType<Record<string, 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>;
    /** 标题 */
    title: StringConstructor;
    /** 窗体大小 */
    size: {
        type: StringConstructor[];
        default: string;
    };
    /** 操作按钮 */
    op: {
        type: PropType<any[] | undefined>;
    };
    /** 搜索钩子 */
    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>;
}>> & {
    onReset?: ((...args: any[]) => any) | undefined;
    onClear?: ((...args: any[]) => any) | undefined;
}, {
    size: string;
}, {}>;
export default _default;
