import { ComputedRef, SlotsType } from 'vue'; import { Emitter } from '../../utils/mitt'; import { BaseFormProps, FormInstance } from './BaseForm.type'; import { FieldInstanceProvideType } from './FieldProvide'; export type FormInstanceProvideType = Omit & { form: FormInstance; eventbus: Emitter; formMeta: ComputedRef; parentForm?: FormInstanceProvideType | null; modelFormField?: FieldInstanceProvideType; formFieldController: FormFieldController; }; export declare const FormInstanceProvide: import('vue').DefineComponent; required: true; }; }>, import('vue').Slot, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly; required: true; }; }>> & Readonly<{}>, {}, SlotsType<{ default: object; }>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; /** * 获取Form实例 * @param throwOnError */ export declare const useFormInstance: (throwOnError?: boolean) => FormInstanceProvideType | null; /** * 获取Form的自定义事件 */ export declare function useFormEventbus(): Emitter | undefined; /** * 获取当前Field所有的后代节点 * @param fields * @param currentField */ export declare function getDescendants(fields: T[], currentField: T): T[]; /** * 获取当前Field所有的父级节点 * @param fields * @param currentField */ export declare function getParentFields(field: T): T[]; export declare class FormFieldController { private fields; register(path: string, data: FieldInstanceProvideType): void; unregister(path: string): void; getFieldData(path: string): FieldInstanceProvideType | undefined; getFields(): FieldInstanceProvideType[]; }