import { FieldUpdate, FormField } from "../types.js";
export declare const updateFieldDeep: (fields: FormField[], fieldId: string, updates: FieldUpdate) => FormField[];
export declare const removeFieldDeep: (fields: FormField[], fieldId: string) => FormField[];
export declare const addChildToSectionDeep: (fields: FormField[], sectionId: string, newChild: FormField) => FormField[];
export declare const containsId: (field: FormField, id: string) => boolean;
export declare const isArrayModeSection: (fields: FormField[], sectionId: string) => boolean;
export declare const insertAtTargetDeep: (fields: FormField[], targetId: string, offset: 0 | 1, makeField: (arrayMode: boolean) => FormField) => FormField[] | null;
export declare const duplicateFieldDeep: (fields: FormField[], fieldId: string, generateId: () => string, existingNames: Set<string>) => FormField[] | null;
export interface SwapResult {
    fields: FormField[];
    handled: boolean;
}
export declare const swapInListDeep: (fields: FormField[], fieldId: string, delta: -1 | 1) => SwapResult;
