import { type IFieldTypeFactory } from "./abstractions.js"; import { BaseFieldBuilder } from "./BaseFieldBuilder.js"; import { DataFieldBuilder } from "./FieldBuilder.js"; import { FieldBuilderRegistry } from "../abstractions.js"; import { LayoutBuilder } from "../LayoutBuilder.js"; export interface IObjectFieldBuilder extends DataFieldBuilder<"object"> { required(message?: string): this; fields(builder: (registry: FieldBuilderRegistry.Interface) => Record>): this; layout(layoutOrBuilder: string[][] | ((builder: LayoutBuilder) => void)): this; } export declare class ObjectFieldBuilder extends DataFieldBuilder<"object"> implements IObjectFieldBuilder { private registry; private layoutBuilder; private fieldBuildersMap; constructor(registry: FieldBuilderRegistry.Interface); required(message?: string): this; fields(builder: (registry: FieldBuilderRegistry.Interface) => Record>): this; layout(layoutOrBuilder: string[][] | ((builder: LayoutBuilder) => void)): this; build(): import("./BaseFieldBuilder.js").DataFieldBuildResult; } declare class ObjectFieldTypeFactory implements IFieldTypeFactory { readonly type = "object"; create(registry: FieldBuilderRegistry.Interface): IObjectFieldBuilder; } export declare const ObjectFieldType: typeof ObjectFieldTypeFactory & { __abstraction: import("@webiny/di").Abstraction; }; declare module "../abstractions.js" { interface IFieldBuilderRegistry { object(): IObjectFieldBuilder; } } export {};