import type { InjectionKey, ComputedRef } from 'vue'; import type { ColProps } from '../grid'; import type { RequiredMark } from './Form'; import type { ValidateStatus, FieldExpose } from './FormItem'; import type { FormLabelAlign, Rule, ValidateMessages } from './interface'; export interface FormContextProps { model?: ComputedRef; vertical: ComputedRef; name?: ComputedRef; colon?: ComputedRef; labelAlign?: ComputedRef; labelWrap?: ComputedRef; labelCol?: ComputedRef; wrapperCol?: ComputedRef; requiredMark?: ComputedRef; addField: (eventKey: string, field: FieldExpose) => void; removeField: (eventKey: string) => void; validateTrigger?: ComputedRef; rules?: ComputedRef<{ [k: string]: Rule[] | Rule; }>; onValidate: (name: string | number | Array, status: boolean, errors: string[] | null) => void; validateMessages: ComputedRef; } export declare const FormContextKey: InjectionKey; export declare const useProvideForm: (state: FormContextProps) => void; export declare const useInjectForm: () => FormContextProps; /** Used for ErrorList only */ export interface FormItemPrefixContextProps { prefixCls: ComputedRef; status?: ComputedRef; } export declare const FormItemPrefixContextKey: InjectionKey; export declare const useProvideFormItemPrefix: (state: FormItemPrefixContextProps) => void; export declare const useInjectFormItemPrefix: () => FormItemPrefixContextProps;