import { type ComputedRef, type Ref } from 'vue'; import type { FormValidationStatus } from '../form/src/interface'; type FormItemSize = 'small' | 'medium' | 'large'; type AllowedSize = 'tiny' | 'small' | 'medium' | 'large' | 'huge' | number; export interface FormItemInjection { path: Ref; disabled: Ref; mergedSize: ComputedRef; mergedValidationStatus: ComputedRef; restoreValidation: () => void; handleContentBlur: () => void; handleContentFocus: () => void; handleContentInput: () => void; handleContentChange: () => void; } export declare const formItemInjectionKey: import("vue").InjectionKey; interface UseFormItemOptions { defaultSize?: FormItemSize; mergedSize?: (formItem: FormItemInjection | null) => T; mergedDisabled?: (formItem: FormItemInjection | null) => boolean; } interface UseFormItemProps { size?: T; disabled?: boolean; status?: FormValidationStatus; } export interface UseFormItem { mergedSizeRef: ComputedRef; mergedDisabledRef: ComputedRef; mergedStatusRef: ComputedRef; nTriggerFormBlur: () => void; nTriggerFormChange: () => void; nTriggerFormFocus: () => void; nTriggerFormInput: () => void; } export default function useFormItem(props: UseFormItemProps, { defaultSize, mergedSize, mergedDisabled }?: UseFormItemOptions): UseFormItem; export {};