import type { TFunction } from 'i18next'; import { type PracticeAnamnesisConfig } from './anamnesis-config'; export interface AnamnesisConfigEditorProps { /** The practice's vocabulary — materialised (every list present). Build the * initial value with `seededConfigDraft()`, never from the module constants * directly: the editor patches lists immutably, but a shared array identity * with the kit seed would leak one accidental in-place edit into every * other mount in the session. */ config: Required; onConfigChange: (next: Required) => void; t: TFunction; /** Override the cascade / test marker (defaults to `anamnesis-config-editor`). */ dataComponent?: string; } /** A per-entry deep-enough clone of the kit seed: sections own their `fields` * arrays and parameters their `referenceRange` objects, so no array or object * identity is shared with the module constants. */ export declare function seededConfigDraft(): Required; /** Derive an immutable camelCase key from a practice label — the practice * never types identifiers, and a labelled entry can never render as a raw * key. Uniquified with a numeric suffix on collision. Practice-derived keys * are practice-LOCAL: they do not join any shared cross-practice vocabulary * (the curated-library question — decision 0.3 — is still open). */ export declare function keyFromLabel(label: string, taken: ReadonlySet): string; export declare function AnamnesisConfigEditor({ config, onConfigChange, t, dataComponent, }: AnamnesisConfigEditorProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=anamnesis-config-editor.d.ts.map