/// <reference types="react" />
import { FieldSetModel, IValidators, $FieldSetValue, ModelRef, FieldArrayModel } from './formulr';
import { IRenderError, IFormFieldViewDrivenProps } from './shared';
import { UnknownFieldSetModelChildren } from './formulr/utils';
export interface IFieldSetBaseProps<T extends UnknownFieldSetModelChildren> {
    scrollAnchorRef?: React.RefObject<Element>;
    validators?: IValidators<$FieldSetValue<T>>;
    children?: React.ReactNode;
    renderError?: IRenderError<T>;
    modelRef?: React.RefObject<FieldSetModel<T>>;
}
export interface IFieldSetModelDrivenProps<T extends UnknownFieldSetModelChildren> extends IFieldSetBaseProps<T> {
    model: FieldSetModel<T> | ModelRef<$FieldSetValue<T>, FieldSetModel<UnknownFieldSetModelChildren> | FieldArrayModel<$FieldSetValue<T>, FieldSetModel<T>>, FieldSetModel<T>>;
}
export interface IFieldSetViewDrivenProps<T extends UnknownFieldSetModelChildren> extends Omit<IFormFieldViewDrivenProps<$FieldSetValue<T>>, 'defaultValue' | 'validators' | 'initialValue'>, IFieldSetBaseProps<T> {
}
export declare function FieldSet<T extends UnknownFieldSetModelChildren>(props: IFieldSetModelDrivenProps<T> | IFieldSetViewDrivenProps<T>): JSX.Element;
