import React, { FC, ReactElement, Key, ReactNode } from 'react'; import type { FormProviderProps as RcFormProviderProps } from 'rc-field-form/lib/FormContext'; import type { Meta } from 'rc-field-form/lib/interface'; import type { FormLabelAlign } from './interface'; import type { FormInstance, FormLayout } from './Form'; import type { ValidateStatus } from './FieldFormItem'; export declare const FormProvider: FC; export interface FormContextProps { name?: string; labelAlign?: FormLabelAlign; labelWrap?: boolean; labelWidth?: number | string; labelMaxWidth?: number | string; layout: FormLayout; colon?: boolean; itemRef: (name: (string | number)[]) => (node: ReactElement) => void; form?: FormInstance; prefixCls?: string; disabled?: boolean; size?: 'small' | 'medium' | 'large'; } export declare const FormContext: React.Context; export type ReportMetaChange = (meta: Meta, uniqueKeys: Key[]) => void; export declare const NoStyleItemContext: React.Context; export interface FormItemStatusContextProps { isFormItemInput?: boolean; status?: ValidateStatus; errors?: ReactNode[]; warnings?: ReactNode[]; hasFeedback?: boolean; feedbackIcon?: ReactNode; } export declare const FormItemInputContext: React.Context;