import { Ref, Slot } from 'vue'; import type { UnknownObject } from '../types/index'; import type { IFormColumns, IFormMenuColumns, IFormSubmit, UseFormInjectEmitsCallback } from '../Form/index'; import { type ITableColumns } from '../Table/index'; import type { IDescriptionsColumns } from '../Descriptions/index'; import type { ICrudProps, ICrudEmits, ICrudDialogType, ICrudMenuColumns } from './index'; type CrudColumns = 'columns' | 'searchColumns' | 'tableColumns' | 'addColumns' | 'editColumns' | 'formColumns' | 'detailColumns'; export declare function useCrudMenu(props: Readonly<{ menu?: ICrudMenuColumns | boolean; }>): Ref; export declare function useCrudColumns(props: Readonly>): { searchColumns: Ref; tableColumns: Ref; addColumns: Ref; editColumns: Ref; formColumns: Ref; detailColumns: Ref; }; export declare function useCrudMethods({ emit, openDialog, closeDialog, }: { emit: ICrudEmits; openDialog: (type: ICrudDialogType, row?: UnknownObject) => void; closeDialog: () => void; }): { searchRef: Ref; tableRef: Ref, import("../Table/type").ITableExpose>; formRef: Ref<{ $: import("vue").ComponentInternalInstance; $data: {}; $props: Partial<{ readonly disabled: boolean; readonly inline: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }> & Omit<{ readonly disabled: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly inline: boolean; readonly statusIcon: boolean; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; readonly size?: import("element-plus/es/utils").EpPropMergeType | undefined; readonly rules?: Partial>> | undefined; readonly model?: Record | undefined; readonly scrollIntoViewOptions?: import("element-plus/es/utils").EpPropMergeType | undefined; onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "labelWidth" | "labelPosition" | "inlineMessage" | "showMessage" | "requireAsteriskPosition" | "labelSuffix" | "inline" | "statusIcon" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: Slot | undefined; }>; $root: import("vue").ComponentPublicInstance | null; $parent: import("vue").ComponentPublicInstance | null; $host: Element | null; $emit: (event: "validate", prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void; $el: any; $options: import("vue").ComponentOptionsBase>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: import("element-plus/es/utils").EpPropFinalized; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized; readonly labelWidth: import("element-plus/es/utils").EpPropFinalized; readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: import("element-plus/es/utils").EpPropFinalized; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined; }, { validate: (callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; validateField: (props?: import("element-plus/es/utils").Arrayable, callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; resetFields: (props?: import("element-plus/es/utils").Arrayable) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable) => void; scrollToField: (prop: import("element-plus").FormItemProp) => void; fields: import("element-plus").FormItemContext[]; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { validate: (prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void; }, string, { readonly disabled: boolean; readonly inline: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import("vue").nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle; } & Readonly<{ readonly disabled: boolean; readonly inline: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }> & Omit>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: import("element-plus/es/utils").EpPropFinalized; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized; readonly labelWidth: import("element-plus/es/utils").EpPropFinalized; readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: import("element-plus/es/utils").EpPropFinalized; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined; }, "disabled" | "labelWidth" | "labelPosition" | "inlineMessage" | "showMessage" | "requireAsteriskPosition" | "labelSuffix" | "inline" | "statusIcon" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "fields"> & import("vue").ShallowUnwrapRef<{ validate: (callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; validateField: (props?: import("element-plus/es/utils").Arrayable, callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; resetFields: (props?: import("element-plus/es/utils").Arrayable) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable) => void; scrollToField: (prop: import("element-plus").FormItemProp) => void; fields: import("element-plus").FormItemContext[]; }> & {} & import("vue").ComponentCustomProperties & {} & { $slots: { default?(_: {}): any; }; }, { $: import("vue").ComponentInternalInstance; $data: {}; $props: Partial<{ readonly disabled: boolean; readonly inline: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }> & Omit<{ readonly disabled: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly inline: boolean; readonly statusIcon: boolean; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; readonly size?: import("element-plus/es/utils").EpPropMergeType | undefined; readonly rules?: Partial>> | undefined; readonly model?: Record | undefined; readonly scrollIntoViewOptions?: import("element-plus/es/utils").EpPropMergeType | undefined; onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "labelWidth" | "labelPosition" | "inlineMessage" | "showMessage" | "requireAsteriskPosition" | "labelSuffix" | "inline" | "statusIcon" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: Slot | undefined; }>; $root: import("vue").ComponentPublicInstance | null; $parent: import("vue").ComponentPublicInstance | null; $host: Element | null; $emit: (event: "validate", prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void; $el: any; $options: import("vue").ComponentOptionsBase>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: import("element-plus/es/utils").EpPropFinalized; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized; readonly labelWidth: import("element-plus/es/utils").EpPropFinalized; readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: import("element-plus/es/utils").EpPropFinalized; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined; }, { validate: (callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; validateField: (props?: import("element-plus/es/utils").Arrayable, callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; resetFields: (props?: import("element-plus/es/utils").Arrayable) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable) => void; scrollToField: (prop: import("element-plus").FormItemProp) => void; fields: import("element-plus").FormItemContext[]; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { validate: (prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void; }, string, { readonly disabled: boolean; readonly inline: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import("vue").nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle; } & Readonly<{ readonly disabled: boolean; readonly inline: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }> & Omit>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: import("element-plus/es/utils").EpPropFinalized; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized; readonly labelWidth: import("element-plus/es/utils").EpPropFinalized; readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: import("element-plus/es/utils").EpPropFinalized; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined; }, "disabled" | "labelWidth" | "labelPosition" | "inlineMessage" | "showMessage" | "requireAsteriskPosition" | "labelSuffix" | "inline" | "statusIcon" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "fields"> & import("vue").ShallowUnwrapRef<{ validate: (callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; validateField: (props?: import("element-plus/es/utils").Arrayable, callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; resetFields: (props?: import("element-plus/es/utils").Arrayable) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable) => void; scrollToField: (prop: import("element-plus").FormItemProp) => void; fields: import("element-plus").FormItemContext[]; }> & {} & import("vue").ComponentCustomProperties & {} & { $slots: { default?(_: {}): any; }; }>; update: (value: UnknownObject) => void; resetForm: (reset?: boolean) => void; crudExpose: { searchRef: any; formRef: { $: import("vue").ComponentInternalInstance; $data: {}; $props: Partial<{ readonly disabled: boolean; readonly inline: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }> & Omit<{ readonly disabled: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly inline: boolean; readonly statusIcon: boolean; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; readonly size?: import("element-plus/es/utils").EpPropMergeType | undefined; readonly rules?: Partial>> | undefined; readonly model?: Record | undefined; readonly scrollIntoViewOptions?: import("element-plus/es/utils").EpPropMergeType | undefined; onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "labelWidth" | "labelPosition" | "inlineMessage" | "showMessage" | "requireAsteriskPosition" | "labelSuffix" | "inline" | "statusIcon" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: Slot | undefined; }>; $root: import("vue").ComponentPublicInstance | null; $parent: import("vue").ComponentPublicInstance | null; $host: Element | null; $emit: (event: "validate", prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void; $el: any; $options: import("vue").ComponentOptionsBase>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: import("element-plus/es/utils").EpPropFinalized; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized; readonly labelWidth: import("element-plus/es/utils").EpPropFinalized; readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: import("element-plus/es/utils").EpPropFinalized; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined; }, { validate: (callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; validateField: (props?: import("element-plus/es/utils").Arrayable, callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; resetFields: (props?: import("element-plus/es/utils").Arrayable) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable) => void; scrollToField: (prop: import("element-plus").FormItemProp) => void; fields: import("element-plus").FormItemContext[]; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { validate: (prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void; }, string, { readonly disabled: boolean; readonly inline: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import("vue").nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle; } & Readonly<{ readonly disabled: boolean; readonly inline: boolean; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly inlineMessage: boolean; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }> & Omit>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: import("element-plus/es/utils").EpPropFinalized; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized; readonly labelWidth: import("element-plus/es/utils").EpPropFinalized; readonly labelSuffix: import("element-plus/es/utils").EpPropFinalized; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: import("element-plus/es/utils").EpPropFinalized; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => any) | undefined; }, "disabled" | "labelWidth" | "labelPosition" | "inlineMessage" | "showMessage" | "requireAsteriskPosition" | "labelSuffix" | "inline" | "statusIcon" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "fields"> & import("vue").ShallowUnwrapRef<{ validate: (callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; validateField: (props?: import("element-plus/es/utils").Arrayable, callback?: import("element-plus").FormValidateCallback) => import("element-plus").FormValidationResult; resetFields: (props?: import("element-plus/es/utils").Arrayable) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable) => void; scrollToField: (prop: import("element-plus").FormItemProp) => void; fields: import("element-plus").FormItemContext[]; }> & {} & import("vue").ComponentCustomProperties & {} & { $slots: { default?(_: {}): any; }; }; openDialog: (type: ICrudDialogType, row?: UnknownObject) => void; closeDialog: () => void; }; }; export declare function useCrudForm(props: Readonly>, emit: ICrudEmits, resetForm: (reset?: boolean) => void): { showDialog: Ref; type: Ref; formColumns: Ref; openDialog: (type: ICrudDialogType, row?: UnknownObject) => void; closeDialog: () => void; submitForm: IFormSubmit; } & UseFormInjectEmitsCallback; export declare function useCrudSearchMenu(menuColumns: Ref): Ref; export declare function useCrudSearchForm(emit: ICrudEmits): { searchForm: IFormSubmit; searchReset: () => void; upSearchData: (value: UnknownObject) => void; }; export declare function useCrudSlots(): { searchSlots: Record; tableSlots: Record; formSlots: Record; detailSlots: Record; }; export {};