import { InjectionKey, Ref } from 'vue'; import { ColProps } from './Layout/Col.vue'; export type ValidTrigger = "blur" | "change" | "submit"; export type FormItemContext = { getFieldName: () => string; onFieldBlur: () => void; onFieldChange: (newValue: unknown) => void; clearValidate: () => void; }; export type FormItemInternalContext = { rules: Ref; getFieldName: () => string; getValidateTrigger: () => ValidTrigger; getUniqueId: () => string; setErrorState: (errorMessage: string | null) => void; }; export type FormContext = { onFieldBlur: (item: FormItemInternalContext) => void; onFieldChange: (item: FormItemInternalContext, newValue: unknown) => void; clearValidate: (item: FormItemInternalContext) => void; addFormItemField: (item: FormItemInternalContext) => number; removeFormItemField: (item: FormItemInternalContext) => void; validateTrigger: Ref; hideRequiredMark: Ref; colon: Ref; labelWidth: Ref; labelAlign: Ref; labelCol: Ref; wrapperCol: Ref; showLabel: Ref; name: Ref; getItemValue: (item: FormItemInternalContext) => unknown; getItemRequieed: (item: FormItemInternalContext) => boolean; }; export declare const FormItemContextContextKey: InjectionKey; export declare function useInjectFormItemContext(): FormItemContext;