import type { ExtractPropTypes, ComputedRef, Ref, VNode, Component } from 'vue';
import type { ColProps, FormItemRule, DialogProps } from 'element-plus';
import type { WetFormOption } from '../../types';
export declare const wetProFormProps: {
    colProps: {
        readonly type: import("vue").PropType<Partial<ColProps>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    span: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
    gutter: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
    clearable: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: BooleanConstructor;
    initialValues: {
        readonly type: import("vue").PropType<Record<string, any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    valueEmptyModel: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "filter" | "null") | (() => "filter" | "null") | ((new (...args: any[]) => "filter" | "null") | (() => "filter" | "null"))[], unknown, unknown, string, boolean>;
    labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    isFormItem: BooleanConstructor;
    modelValue: ObjectConstructor;
    prop: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
};
export declare const wetModalFormProps: {
    title: StringConstructor;
    destroyOnClose: BooleanConstructor;
    modalProps: {
        readonly type: import("vue").PropType<Partial<DialogProps>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onFinish: {
        readonly type: import("vue").PropType<(v: any) => Promise<boolean>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onCancel: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => () => Promise<boolean>) | (() => () => Promise<boolean>) | {
        (): () => Promise<boolean>;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => () => Promise<boolean>) | (() => () => Promise<boolean>) | {
        (): () => Promise<boolean>;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => Promise<boolean>, boolean>;
    colProps: {
        readonly type: import("vue").PropType<Partial<ColProps>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    span: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
    gutter: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
    clearable: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: BooleanConstructor;
    initialValues: {
        readonly type: import("vue").PropType<Record<string, any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    valueEmptyModel: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "filter" | "null") | (() => "filter" | "null") | ((new (...args: any[]) => "filter" | "null") | (() => "filter" | "null"))[], unknown, unknown, string, boolean>;
    labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    isFormItem: BooleanConstructor;
    modelValue: ObjectConstructor;
    prop: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
};
export declare const wetDrawerFormProps: {
    title: StringConstructor;
    destroyOnClose: BooleanConstructor;
    drawerProps: {
        readonly type: import("vue").PropType<Partial<DialogProps>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onFinish: {
        readonly type: import("vue").PropType<(v: any) => Promise<boolean>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onCancel: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => () => Promise<boolean>) | (() => () => Promise<boolean>) | {
        (): () => Promise<boolean>;
        new (): any;
        readonly prototype: any;
    } | ((new (...args: any[]) => () => Promise<boolean>) | (() => () => Promise<boolean>) | {
        (): () => Promise<boolean>;
        new (): any;
        readonly prototype: any;
    })[], unknown, unknown, () => Promise<boolean>, boolean>;
    colProps: {
        readonly type: import("vue").PropType<Partial<ColProps>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    span: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
    gutter: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
    clearable: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: BooleanConstructor;
    initialValues: {
        readonly type: import("vue").PropType<Record<string, any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    valueEmptyModel: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "filter" | "null") | (() => "filter" | "null") | ((new (...args: any[]) => "filter" | "null") | (() => "filter" | "null"))[], unknown, unknown, string, boolean>;
    labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    isFormItem: BooleanConstructor;
    modelValue: ObjectConstructor;
    prop: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
};
export declare const wetProFormItemProps: {
    rules: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => FormItemRule[]) | (() => FormItemRule[]) | ((new (...args: any[]) => FormItemRule[]) | (() => FormItemRule[]))[], unknown, unknown, () => never[], boolean>;
    span: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    title: StringConstructor;
    noStyle: BooleanConstructor;
    description: StringConstructor;
    labelColor: StringConstructor;
    fixedWidth: BooleanConstructor;
    label: StringConstructor;
    labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    prop: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    required: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    error: StringConstructor;
    validateStatus: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "success" | "error" | "validating", unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    for: StringConstructor;
    inlineMessage: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, BooleanConstructor], unknown, unknown, "", boolean>;
    showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    size: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    tag: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "div", boolean>;
    offset: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    pull: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    push: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    xs: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize) | ((new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{}>, boolean>;
    sm: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize) | ((new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{}>, boolean>;
    md: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize) | ((new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{}>, boolean>;
    lg: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize) | ((new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{}>, boolean>;
    xl: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize) | ((new (...args: any[]) => number | import("element-plus").ColSizeObject) | (() => import("element-plus").ColSize))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{}>, boolean>;
};
export type WetProFormItemProps = ExtractPropTypes<typeof wetProFormItemProps>;
type DependencyChangeType = (p: {
    relyValues: any | any[];
    setValue: (p: string | string[], v: any) => void;
    getValue: (prop?: string | string[]) => void;
}) => (Partial<WetSchemaItemType> | void);
export declare const wetFormItemDependencyProps: {
    relyprops: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string[] | (string | string[])[]) | (() => string[] | (string | string[])[]) | ((new (...args: any[]) => string[] | (string | string[])[]) | (() => string[] | (string | string[])[]))[], unknown, unknown, () => never[], boolean>;
    dependencyChange: {
        readonly type: import("vue").PropType<DependencyChangeType>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
};
export type WetFormItemDependencyProps = ExtractPropTypes<typeof wetFormItemDependencyProps>;
export declare const wetProFormListProps: {
    prop: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
};
export type WetProFormProvideType = {
    registerFiledsPaths: Ref<Record<string, boolean>>;
    formState: Ref<Record<string, any>>;
    setFormStateValue: (path: string[]) => void;
    registerChangeEmit: (key: string | string[]) => void;
    globalColProps: ComputedRef<Partial<ColProps> | undefined>;
    clearable: ComputedRef<boolean | undefined>;
    labelWidth: ComputedRef<number | string | undefined>;
    setFieldsValue: (prop: string | string[], v: any) => void;
    getFieldsValue: (prop?: string | string[]) => void;
};
export type WetValueType = 'text' | 'date' | 'checkbox' | 'radio' | 'switch' | 'slider' | 'rate' | 'select' | 'tree-select' | 'number' | 'autocomplete' | 'color' | 'cascader' | 'time-picker' | 'time-select' | 'array';
export type WetSchemaItemType = {
    valueType?: WetValueType;
    property: string | string[];
    title?: string;
    valueEnum?: WetFormOption[];
    hideInForm?: boolean;
    hideInRender?: boolean;
    renderFormItem?: VNode | Component;
    formInputProps?: Record<string, any>;
    dependency?: WetFormItemDependencyProps;
} & Partial<WetProFormItemProps>;
export declare const wetSchemaProps: {
    properties: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => WetSchemaItemType[]) | (() => WetSchemaItemType[]) | ((new (...args: any[]) => WetSchemaItemType[]) | (() => WetSchemaItemType[]))[], unknown, unknown, () => never[], boolean>;
    colProps: {
        readonly type: import("vue").PropType<Partial<ColProps>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    span: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
    gutter: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
    clearable: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: BooleanConstructor;
    initialValues: {
        readonly type: import("vue").PropType<Record<string, any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    valueEmptyModel: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => "filter" | "null") | (() => "filter" | "null") | ((new (...args: any[]) => "filter" | "null") | (() => "filter" | "null"))[], unknown, unknown, string, boolean>;
    labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    isFormItem: BooleanConstructor;
    modelValue: ObjectConstructor;
    prop: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => string | string[]) | ((new (...args: any[]) => string | string[]) | (() => string | string[]))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
};
export type WetSchemaProps = ExtractPropTypes<typeof wetSchemaProps>;
export {};
