import { BasicBuilder, $GetBuilderModel } from './basic';
import type { $FieldSetValue } from '../models';
import { FieldSetModel } from '../models';
import { Maybe } from '../maybe';
import { UnknownFieldSetBuilderChildren } from '../utils';
export declare type $FieldSetBuilderChildren<ChildBuilders extends UnknownFieldSetBuilderChildren> = {
    [Key in keyof ChildBuilders]: $GetBuilderModel<ChildBuilders[Key]>;
};
export declare type $FieldSetBuilderDefaultValue<ChildBuilders extends UnknownFieldSetBuilderChildren> = Partial<$FieldSetValue<$FieldSetBuilderChildren<ChildBuilders>>>;
export declare class FieldSetBuilder<ChildBuilders extends UnknownFieldSetBuilderChildren> extends BasicBuilder<$FieldSetValue<$FieldSetBuilderChildren<ChildBuilders>>, FieldSetModel<$FieldSetBuilderChildren<ChildBuilders>>> {
    protected readonly _childBuilders: ChildBuilders;
    constructor(_childBuilders: ChildBuilders);
    build(defaultValues?: Maybe<$FieldSetBuilderDefaultValue<ChildBuilders>>): FieldSetModel<$FieldSetBuilderChildren<ChildBuilders>>;
    get<T extends keyof ChildBuilders>(name: T): ChildBuilders[T];
}
