import { Component } from 'vue'; import * as VueDemi from 'vue-demi'; import { Form, IFieldFactoryProps, IVoidFieldFactoryProps, GeneralField, Field, FormPatternTypes, FieldDisplayTypes, FieldValidator } from '@formily/core'; import type { FormPathPattern } from '@formily/shared'; import type { ISchema, Schema, SchemaKey } from '@formily/json-schema'; declare class Helper { Return: import("vue").ComponentOptions & VueDemi.Data, {}, {}, Record, VueDemi.ExtractPropTypes>> & Omit, never> & (new (...args: any[]) => VueDemi.ComponentRenderProxy> & {}, VueDemi.ShallowUnwrapRef, VueDemi.Data, {}, {}, {}, {}, {}, VueDemi.ExtractPropTypes> & {}, VueDemi.ExtractDefaultPropTypes>, true>); } export declare type DefineComponent = Helper['Return']; export declare type VueComponent = Component; export declare type VueComponentOptionsWithProps = { props: unknown; }; export declare type VueComponentProps = T extends VueComponentOptionsWithProps ? T['props'] : T; export interface IProviderProps { form: Form; } export declare type IFieldProps = IFieldFactoryProps; export declare type IVoidFieldProps = IVoidFieldFactoryProps; export declare type IArrayFieldProps = IFieldProps; export declare type IObjectFieldProps = IFieldProps; export interface IReactiveFieldProps { fieldType: 'Field' | 'ArrayField' | 'ObjectField' | 'VoidField'; fieldProps: IFieldProps | IVoidFieldProps; } export interface IComponentMapper { (target: T): VueComponent; } export declare type IStateMapper = { [key in keyof Field]?: keyof Props | boolean; } | ((props: Props, field: GeneralField) => Props); export declare type SchemaVueComponents = Record; export interface ISchemaFieldVueFactoryOptions { components?: Components; scope?: any; } export interface ISchemaFieldProps extends Omit { schema?: ISchema; components?: { [key: string]: VueComponent; }; scope?: any; name?: SchemaKey; } export interface ISchemaMapper { (schema: Schema, name: SchemaKey): Schema; } export interface ISchemaFilter { (schema: Schema, name: SchemaKey): boolean; } export interface IRecursionFieldProps { schema: Schema; name?: SchemaKey; basePath?: FormPathPattern; onlyRenderProperties?: boolean; onlyRenderSelf?: boolean; mapProperties?: ISchemaMapper; filterProperties?: ISchemaFilter; } export declare type ObjectKey = string | number | boolean | symbol; export declare type KeyOfComponents = keyof T; export declare type ComponentPath = KeyOfComponents> = Key extends string ? Key : never; export declare type ComponentPropsByPathValue> = P extends keyof T ? VueComponentProps : never; export declare type ISchemaMarkupFieldProps = ComponentPath, Component extends ComponentPath = ComponentPath> = ISchema, ComponentPropsByPathValue, FormPatternTypes, FieldDisplayTypes, FieldValidator, string, GeneralField>; export declare type ISchemaTypeFieldProps = ComponentPath, Component extends ComponentPath = ComponentPath> = Omit, 'type'>; export declare type IExpressionScopeProps = { value: any; }; export {};