import React, { ReactNode } from 'react';
import { ConfigContextValue } from '../../../lib/config-provider/ConfigContext';
import DataSet from '../data-set/DataSet';
import Record from '../data-set/Record';
import { LabelAlign, LabelLayout, RequiredMarkAlign, ShowValidation } from './enum';
import Form, { LabelWidth } from './Form';
import { Tooltip } from '../core/enum';
import { ShowHelp } from '../field/enum';
import { TooltipProps } from '../tooltip/Tooltip';
export interface FormContextValue extends ConfigContextValue {
    dataSet?: DataSet | undefined;
    dataIndex?: number | undefined;
    record?: Record | undefined;
    pristine?: boolean | undefined;
    disabled?: boolean | undefined;
    readOnly?: boolean | undefined;
    fieldHighlightRenderer?: boolean | undefined;
    labelLayout?: LabelLayout | undefined;
    labelAlign?: LabelAlign | undefined;
    labelWidth?: LabelWidth | undefined;
    labelTooltip?: Tooltip | [Tooltip, TooltipProps] | undefined;
    showValidation?: ShowValidation | undefined;
    showHelp?: ShowHelp | undefined;
    useColon?: boolean | undefined;
    requiredMarkAlign?: RequiredMarkAlign;
    formNode?: Form | undefined;
}
export interface FormProviderProps {
    children?: ReactNode;
    value?: FormContextValue;
}
declare const FormContext: React.Context<FormContextValue>;
export declare const FormProvider: React.NamedExoticComponent<FormProviderProps>;
export default FormContext;
