import { FormProps } from "antd"; import { Field, Operations, SetterConfig } from "../../types"; export interface SectionItem { name: string; title: string; fields: Field[]; operations?: Operations; } export interface SectionFormLayout { layout?: FormProps["layout"]; labelAlign?: FormProps["labelAlign"]; labelCol?: FormProps["labelCol"]; wrapperCol?: FormProps["wrapperCol"]; colon?: FormProps["colon"]; requiredMark?: FormProps["requiredMark"]; } export interface Section { name: string; title: string; items: SectionItem[]; formLayout?: SectionFormLayout; } export interface SectionProps { section: Section; selectedPath: string | null; onFieldSelect: (path: string) => void; getSetterConfig: (field: string) => SetterConfig | undefined; getOptions: (config: SetterConfig, values: Record) => any[]; visibleFields: Set; formValues: Record; onOperationClick?: (type: "clone" | "delete" | "visibility", itemName: string) => void; }