import { InjectionKey } from 'vue'; import { FormRules as ElFormRules, FormItemRule as ElFormItemRule } from 'element-plus'; type Arrayable = T | T[]; export type FormRules = ElFormRules; export type FormItemRule = ElFormItemRule; export interface FormProps { rules?: FormRules; itemSpan?: number; itemLabelWidth?: string | number; disabled?: boolean; modelValue: Record; } export interface FormExpose { validate: () => Promise; } export interface FormContext { modelValue: Record; updateModelValue: (name: string, value: any) => void; updateModelValueMulti: (data: Record) => void; rules?: FormRules; itemSpan: number; disabled?: boolean; } export declare const formContextKey: InjectionKey; export interface FormItemProps { name: string; label?: string; span?: number; labelWidth?: string | number; required?: boolean; rules?: Arrayable; } export {};