import type { CheckboxGroupEmits, CheckboxGroupProps, DatePickerProps, FormInstance, FormProps, InputEmits, InputNumberEmits, InputNumberProps, InputProps, RadioGroupEmits, RadioGroupProps, RateEmits, RateProps, SliderEmits, SliderProps, SwitchEmits, SwitchProps, SelectContext, SelectV2Context } from 'element-plus'; interface ExtendProps { label: string; rules: Array; span: number; hidden: boolean; defaultValue: any; labelWidth?: string; } declare type SelectProps = SelectContext['props']; declare type SelectV2Props = SelectV2Context['props']; declare type TreeSelectProps = Record; declare type TypeComponentsProps = (InputProps & ExtendProps) | (SelectProps & ExtendProps) | (SelectV2Props & ExtendProps) | (DatePickerProps & ExtendProps) | (CheckboxGroupProps & ExtendProps) | (RadioGroupProps & ExtendProps) | (SwitchProps & ExtendProps) | (InputNumberProps & ExtendProps) | (RateProps & ExtendProps) | (SliderProps & ExtendProps) | (TreeSelectProps & ExtendProps); declare type SelectEmits = Record; declare type SelectV2Emits = Record; declare type TreeSelecttEmits = Record; declare type DatePickerEmits = Record; export declare type ComponentsEvents = InputEmits | SelectEmits | SelectV2Emits | DatePickerEmits | CheckboxGroupEmits | RadioGroupEmits | SwitchEmits | InputNumberEmits | RateEmits | SliderEmits | TreeSelecttEmits; export interface OptionsGroups { [key: string]: { loading: boolean; list: Array; }; } export interface SelectOptions { label?: string | number; value?: string | number | boolean | object; disabled?: boolean; [key: string]: any; } export interface ComponentsProps { model: string; components: 'el-input' | 'el-select' | 'el-select-v2' | 'el-date-picker' | 'el-checkbox-group' | 'el-radio-group' | 'el-switch' | 'el-input-number' | 'el-rate' | 'el-slider' | 'el-tree-select'; subComponents?: 'el-option' | 'el-checkbox' | 'el-radio'; props?: Partial; events?: Partial; dictKey?: string; options?: Array | ((keyword: string) => Promise>); optionsLabelKey?: string; optionsValueKey?: string; stypeProps?: Record; } export interface AdFormPorps { modelValue?: T; models?: T; formProps?: Partial; gutter?: number; span?: number; components: Array; buttonsPosition?: 'start' | 'center' | 'end'; buttonsSpan?: number; hiddenSubmit?: boolean; hiddenResetForm?: boolean; submitText?: string; resetFormText?: string; isResetFormApi?: boolean; submit: (models: T) => Promise | void; resetForm?: () => void; } export interface AdFormEmits> { (event: 'update:modelValue', models: T): void; (event: 'submitSucceed'): void; } export interface AdFormInstance { ref: FormInstance; loading: boolean; } export {}; ; 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; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "inline" | "inlineMessage" | "statusIcon" | "showMessage" | "validateOnRuleChange" | "hideRequiredAsterisk" | "scrollToError" | "disabled">; $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: 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 | undefined) => import("element-plus").FormValidationResult; validateField: (props?: import("element-plus/es/utils").Arrayable | undefined, callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult; resetFields: (props?: import("element-plus/es/utils").Arrayable | undefined) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable | undefined) => 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 inline: boolean; 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 validateOnRuleChange: import("element-plus/es/utils").EpPropMergeType; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }> & { 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(source: string | Function, cb: Function, 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: 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; } & import("vue").ShallowUnwrapRef<{ validate: (callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult; validateField: (props?: import("element-plus/es/utils").Arrayable | undefined, callback?: import("element-plus").FormValidateCallback | undefined) => import("element-plus").FormValidationResult; resetFields: (props?: import("element-plus/es/utils").Arrayable | undefined) => void; clearValidate: (props?: import("element-plus/es/utils").Arrayable | undefined) => void; scrollToField: (prop: import("element-plus").FormItemProp) => void; fields: import("element-plus").FormItemContext[]; }> & {} & import("vue").ComponentCustomProperties & { $slots: { default?(_: {}): any; }; }) | undefined>; loading: import("vue").Ref; models: Record; getOptionsKey: (componentsType: string, opt: import("./types").SelectOptions, optionsLabelKey: string, optionsValueKey: string) => any; optionsGroups: import("./types").OptionsGroups; optionsHandler: (key: string, _: any) => Promise; remoteMethod: (key: string, options: (keyword: string) => Promise) => (keyword: string) => Promise; initializationData: () => void; submitForm: (isResetFormApi: boolean) => Promise; resetForm: () => Promise; changeAction: (value: Array | string | number, model: Record, index: number, options: Array>, optionsValueKey: string, change: (model: Record, data: Record, value: Array | string | number, index: number) => void) => void; eventsBind: (events?: ComponentsEvents | undefined) => { [x: string]: any; }; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "submitSucceed")[], "update:modelValue" | "submitSucceed", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly> & { "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; onSubmitSucceed?: ((...args: any[]) => any) | undefined; }, {}>>; export default Form; export * from './types'; export declare const eventsBind: (events?: ComponentsEvents | undefined) => { [x: string]: any; }; export declare const changeAction: (value: Array | string | number, model: Record, index: number, options: Array>, optionsValueKey: string, change: (model: Record, data: Record, value: Array | string | number, index: number) => void) => void; declare module 'vue' { interface GlobalComponents { AdForm: typeof Form; } }