import type { ComputedRef, Ref, RenderFunction, SetupContext } from 'vue' import type { FormEmits as ElFormEmits, FormItemContext, FormItemProp, FormItemProps as ElFormItemProps, FormItemValidateState, FormProps as ElFormProps, FormValidateCallback, FormValidationResult, } from 'element-plus' import type { Arrayable, CompSize, FormItemProps, FormProps } from '../base' import type { ComponentBaseOptions, ComponentSlotType, DefineComponentApp, DefineComponentInstance, Merge, } from '../common' // form export declare const KForm: DefineComponentApp export type KFormInstance = DefineComponentInstance export interface KFormConstructor extends ComponentBaseOptions, KFormMethods { props: KFormProps context: SetupContext getRefMaps(): KFormPrivateRef getComputeMaps(): KFormPrivateComputed renderVN: RenderFunction } export interface KFormPrivateRef { refElem: Ref } export interface KFormPrivateComputed { } export type KFormProps = Merge export type KFormEmits = ElFormEmits export interface KFormSlots { default: () => ComponentSlotType } export type KFormMethods = { validate: (callback?: FormValidateCallback) => Promise validateField: ( props?: Arrayable | undefined, callback?: FormValidateCallback | undefined, ) => FormValidationResult resetFields: (props?: Arrayable | undefined) => void scrollToField: (prop: FormItemProp) => void clearValidate: (props?: Arrayable | undefined) => void fields: FormItemContext[] } // form-item export declare const KFormItem: DefineComponentApp export type KFormItemInstance = DefineComponentInstance export interface KFormItemConstructor extends ComponentBaseOptions, KFormItemMethods { props: KFormItemProps context: SetupContext getRefMaps(): KFormItemPrivateRef getComputeMaps(): KFormItemPrivateComputed renderVN: RenderFunction } export interface KFormItemPrivateRef { refElem: Ref } export interface KFormItemPrivateComputed { } export type KFormItemProps = Merge export interface KFormItemEmits { } export interface KFormItemSlots { default: () => ComponentSlotType label: (_: { label: string }) => ComponentSlotType error: (_: { error: string }) => ComponentSlotType } export type KFormItemMethods = { size: ComputedRef validateMessage: Ref validateState: Ref validate: (trigger: string, callback?: FormValidateCallback | undefined) => FormValidationResult resetField: () => void clearValidate: () => void }