import type { SchemaFormProps } from './props'; import type { ButtonEmits, ButtonProps } from 'element-plus'; import type { CreateEmitType } from './util'; import type { ColEx } from './layout'; import type { UnwrapRef } from 'vue'; import type { AnyObject } from './global'; export interface FormAction { setProps: (props: Partial>) => void; resetFields: () => void; validate: (callback?: (isValid: boolean) => void) => Promise; clearValidate: (props?: string | string[]) => void; validateField: (props: string | string[], callback: (err: string) => void) => void; scrollToField: (prop: keyof UnwrapRef) => void; submit: () => Promise; } export type FormActionButton = { colProps?: Partial; label: string; actionType?: string; onClick: (e: Partial) => (void | any); } & Partial>;