import type { ValidateMessages } from '@antdv/ui/es/locale'; import type { ValidateStatus } from '@antdv/ui/es/types'; import type { ComputedRef, InjectionKey } from 'vue'; import type { ColProps } from '../../grid'; import type { FieldExpose, FormLabelAlign, RequiredMark, Rule } from './interface'; export declare const FormContextKey: InjectionKey; 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 function useProvideForm(state: FormContextProps): void; export declare function useInjectForm(): FormContextProps; /** Used for ErrorList only */ export interface FormItemPrefixContextProps { prefixCls: ComputedRef; status?: ComputedRef; } export declare const FormItemPrefixContextKey: InjectionKey; export declare function useProvideFormItemPrefix(state: FormItemPrefixContextProps): void; export declare function useInjectFormItemPrefix(): FormItemPrefixContextProps;