import { StateDeriver } from '../../../types/FieldDescriptor'; import { CuringDescriptorState } from '../types'; import { CuringFieldDescriptor } from './index'; /** * Curing-flavored `SectionDescriptor`. Diverges from the questionnaire's * `SectionDescriptor` in two ways: * - `items` is an inline `CuringFieldDescriptor[]` (the section literally * holds its children). The questionnaire stores child *keys* and resolves * them via a global field registry; curing intentionally has no registry, * so children ride along directly on the section. * - Only the slots curing actually uses are declared (`getTitle`, * `getVisible`) — no `getSubTitle` / `getRequired` / `getDisplay` / * `items`-as-deriver, since curing has no need for them yet. * * The hydrated output is the shared SDK `HydratedSection` shape, so * `SectionRenderer` and existing `.taxbit-section*` CSS apply without * additional renderer or stylesheet work. */ export type CuringSectionDescriptor = { key: string; type: 'section'; getVisible?: StateDeriver; getTitle?: StateDeriver; getSubTitle?: StateDeriver; items: ReadonlyArray; };