import { Content, Fields } from "../types.js";
export declare const getArrayPathForNameWithIndexName: (templateName: string, placeholder: string) => string | undefined;
export declare const findNameWithIndexName: (fields: Fields, indexName: string) => string | undefined;
export declare const getSpliceTarget: (nameWithIndexName: string, resolvedName: string, indexName: string) => {
    arrayPath: string;
    itemIndex: number;
} | undefined;
export declare const findAllNames: (fields: Fields) => string[];
export declare const getValueByPath: (content: Content, path: string | string[]) => any;
export declare const sectionHasContentData: (fields: Fields, content: Content) => boolean;
export type SectionClearOnUpdate = (path: string, value: unknown, options?: {
    unset?: boolean;
    removeArrayItemAt?: number;
}) => void;
export type SectionScalarReset = {
    path: string;
    mode: 'unset';
} | {
    path: string;
    mode: 'set';
    value: unknown;
};
export declare const collectSectionClearTargets: (fields: unknown[] | undefined | null) => {
    arrayPaths: string[];
    scalarResets: SectionScalarReset[];
};
export declare const clearSectionFormContent: (fields: unknown[] | undefined | null, onUpdate: SectionClearOnUpdate) => void;
