import type { FormActionButton } from './action'; import type { AnyObject, Awaitable, FormRules, MaybeRef } from './global'; import type { ColEx, RolEx } from './layout'; import type { FormSchema } from './schema'; import type { FormProps as ElFormProps } from 'element-plus'; import type { UnwrapRef } from 'vue'; type MaybeShallowRecordRef = { [P in keyof T]: MaybeRef; }; type _ElFormProps = MaybeShallowRecordRef>; export interface _FormProps extends _ElFormProps { colProps?: Partial; rolProps?: Partial; showActionBar: boolean; actionBarColProps?: Partial; showSubmitButton: boolean; showResetButton: boolean; submitButtonOptions: Partial; resetButtonOptions: Partial; submitHandler: () => Awaitable; } export interface SimpleObjectFormProps extends Partial<_FormProps> { model?: T; rules?: FormRules; schemas?: FormSchema; } export interface BaseFormProps extends Partial<_FormProps> { model?: T; rules?: FormRules>; schemas?: FormSchema>[]; } export interface SchemaFormProps extends Partial<_FormProps> { model?: T; rules?: MaybeRef>>; schemas?: MaybeRef>[]>; } export {};