import { type IFieldTypeFactory } from "./abstractions.js"; import { DataFieldBuilder, type BaseFieldBuilder } from "./FieldBuilder.js"; import { type IFieldBuilderRegistry } from "../abstractions.js"; import type { CmsIcon } from "../../../types/index.js"; export interface IDynamicZoneFieldBuilder extends DataFieldBuilder<"dynamicZone"> { required(message?: string): this; template(id: string, config: { name: string; gqlTypeName: string; icon?: CmsIcon; description?: string; fields: (registry: IFieldBuilderRegistry) => Record>; layout?: string[][]; }): this; } declare class DynamicZoneFieldTypeFactory implements IFieldTypeFactory { readonly type = "dynamicZone"; create(registry: IFieldBuilderRegistry): IDynamicZoneFieldBuilder; } export declare const DynamicZoneFieldType: typeof DynamicZoneFieldTypeFactory & { __abstraction: import("@webiny/di").Abstraction; }; declare module "../abstractions.js" { interface IFieldBuilderRegistry { dynamicZone(): IDynamicZoneFieldBuilder; } } export {};