import { UseFormOptions, SubmitPost } from '../useForm'; import { FormDialogProps } from '../FormDialog'; import { FormDrawerProps } from '../FormDrawer'; export type UseFormDialogOptions = UseFormOptions & { post?: SubmitPost; onClose?: VoidFunction; onOpen?: VoidFunction; }; export type DialogAndDrawer = FormDialogProps | FormDrawerProps; export declare function useFormDialog(opts: UseFormDialogOptions): { formDialogState: import("vue").ComputedRef<{ formState: import("../useForm").FormState; visible: boolean; submitting: boolean; 'onUpdate:modelValue': (val: boolean) => void; onSubmit: () => Promise; }>; show: (props?: (Partial & { onSubmit?: (() => Promise) | undefined; }) | undefined) => void; hide: () => void; submit: (post?: SubmitPost | undefined) => Promise; getModel: (_k: K) => T[K]; getColumn: (prop: string) => import("../useForm").IFormColumn | null; setColumn: (prop: string, obj: Partial> | null, newVal?: any) => void; toggleColumn: (prop: string | string[] | Record, show?: boolean | undefined) => void; setModel: (obj: Partial, isReset?: boolean, columnMap?: Record>) => void; form: import("vue").ShallowRef<({ $: import("vue").ComponentInternalInstance; $data: {}; $props: Partial<{ readonly disabled: boolean; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropMergeType; readonly inline: boolean; readonly inlineMessage: boolean; readonly statusIcon: 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: import("element-plus/es/utils").EpPropFinalized; 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; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inline" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import("vue").Slot | undefined; }>; $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase, {}> | null; $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase, {}> | 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: import("element-plus/es/utils").EpPropFinalized; 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; }, { COMPONENT_NAME: string; props: Readonly>>>; 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: import("element-plus/es/utils").EpPropFinalized; 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; }>>; emit: (event: "validate", prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void; fields: import("element-plus").FormItemContext[]; formSize: import("vue").ComputedRef<"" | "default" | "small" | "large">; ns: { namespace: import("vue").ComputedRef; b: (blockSuffix?: string | undefined) => string; e: (element?: string | undefined) => string; m: (modifier?: string | undefined) => string; be: (blockSuffix?: string | undefined, element?: string | undefined) => string; em: (element?: string | undefined, modifier?: string | undefined) => string; bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; is: { (name: string, state: boolean | undefined): string; (name: string): string; }; cssVar: (object: Record) => Record; cssVarName: (name: string) => string; cssVarBlock: (object: Record) => Record; cssVarBlockName: (name: string) => string; }; formClasses: import("vue").ComputedRef<(string | { [x: string]: boolean | import("element-plus/es/utils").EpPropMergeType; })[]>; addField: (field: import("element-plus").FormItemContext) => void; removeField: (field: import("element-plus").FormItemContext) => void; resetFields: (props?: import("element-plus/es/utils").Arrayable | undefined) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable | undefined) => void; isValidatable: import("vue").ComputedRef; obtainValidateFields: (props: import("element-plus/es/utils").Arrayable) => import("element-plus").FormItemContext[]; validate: (callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult; doValidateField: (props?: import("element-plus/es/utils").Arrayable | undefined) => Promise; validateField: (props?: import("element-plus/es/utils").Arrayable | undefined, callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult; scrollToField: (prop: import("element-plus").FormItemProp) => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { validate: (prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => boolean; }, string, { readonly disabled: boolean; readonly labelPosition: import("element-plus/es/utils").EpPropMergeType; readonly requireAsteriskPosition: import("element-plus/es/utils").EpPropMergeType; readonly labelWidth: import("element-plus/es/utils").EpPropMergeType; readonly labelSuffix: string; readonly showMessage: import("element-plus/es/utils").EpPropMergeType; readonly validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly hideRequiredAsterisk: import("element-plus/es/utils").EpPropMergeType; readonly inline: boolean; readonly inlineMessage: boolean; readonly statusIcon: boolean; readonly scrollToError: boolean; }, {}, string> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof import("vue").nextTick; $watch any)>(source: T_1, cb: T_1 extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle; } & Readonly>>>; 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: import("element-plus/es/utils").EpPropFinalized; 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; } & import("vue").ShallowUnwrapRef<{ COMPONENT_NAME: string; props: Readonly>>>; 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: import("element-plus/es/utils").EpPropFinalized; 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; }>>; emit: (event: "validate", prop: import("element-plus").FormItemProp, isValid: boolean, message: string) => void; fields: import("element-plus").FormItemContext[]; formSize: import("vue").ComputedRef<"" | "default" | "small" | "large">; ns: { namespace: import("vue").ComputedRef; b: (blockSuffix?: string | undefined) => string; e: (element?: string | undefined) => string; m: (modifier?: string | undefined) => string; be: (blockSuffix?: string | undefined, element?: string | undefined) => string; em: (element?: string | undefined, modifier?: string | undefined) => string; bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; is: { (name: string, state: boolean | undefined): string; (name: string): string; }; cssVar: (object: Record) => Record; cssVarName: (name: string) => string; cssVarBlock: (object: Record) => Record; cssVarBlockName: (name: string) => string; }; formClasses: import("vue").ComputedRef<(string | { [x: string]: boolean | import("element-plus/es/utils").EpPropMergeType; })[]>; addField: (field: import("element-plus").FormItemContext) => void; removeField: (field: import("element-plus").FormItemContext) => void; resetFields: (props?: import("element-plus/es/utils").Arrayable | undefined) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable | undefined) => void; isValidatable: import("vue").ComputedRef; obtainValidateFields: (props: import("element-plus/es/utils").Arrayable) => import("element-plus").FormItemContext[]; validate: (callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult; doValidateField: (props?: import("element-plus/es/utils").Arrayable | undefined) => Promise; validateField: (props?: import("element-plus/es/utils").Arrayable | undefined, callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult; scrollToField: (prop: import("element-plus").FormItemProp) => void; }> & {} & import("vue").ComponentCustomProperties & {}) | null>; originColumns: import("vue").ShallowRef; };