import { type IFieldTypeFactory } from "./abstractions.js"; import { BaseFieldBuilder } from "./BaseFieldBuilder.js"; import { LayoutFieldBuilder } from "./LayoutFieldBuilder.js"; import { type IFieldBuilderRegistry } from "../abstractions.js"; import type { CmsIcon, FieldRule } from "../../../types/index.js"; interface ITabConfig { label: string; icon?: CmsIcon; description?: string; fields: (registry: IFieldBuilderRegistry) => Record>; layout?: string[][]; rules?: FieldRule[]; } export interface IUiTabsFieldBuilder extends LayoutFieldBuilder<"uiTabs"> { tab(id: string, config: ITabConfig): this; } declare class TabsFieldTypeFactory implements IFieldTypeFactory { readonly type = "uiTabs"; create(registry: IFieldBuilderRegistry): IUiTabsFieldBuilder; } export declare const UiTabsFieldType: typeof TabsFieldTypeFactory & { __abstraction: import("@webiny/di").Abstraction; }; declare module "../abstractions.js" { interface IFieldBuilderRegistry { uiTabs(): IUiTabsFieldBuilder; } } export {};