import { ConfigInput } from "../../form-generator/index.js";
import { FormField } from "../types.js";
interface UseFormFieldsProps {
    initialFields: FormField[];
    onChange?: (fields: FormField[]) => void;
}
export declare const useFormFields: ({ initialFields, onChange }: UseFormFieldsProps) => {
    formFields: FormField[];
    createField: (type: ConfigInput["type"], name?: string) => FormField;
    addField: (type: ConfigInput["type"]) => void;
    removeField: (fieldId: string) => void;
    updateField: (fieldId: string, updates: Partial<ConfigInput>) => void;
    addObjectProperty: (objectId: string, type?: ConfigInput["type"]) => void;
    addOptionProperty: (fieldId: string, optionIndex: number, type?: ConfigInput["type"]) => void;
    removeObjectProperty: (fieldId: string, propertyIndex: number) => void;
    removeOptionProperty: (fieldId: string, optionIndex: number, propertyIndex: number) => void;
    updateObjectProperty: (fieldId: string, propertyIndex: number, updates: Partial<ConfigInput>) => void;
    updateOptionProperty: (fieldId: string, optionIndex: number, propertyIndex: number, updates: Partial<ConfigInput>) => void;
    addOption: (fieldId: string) => void;
    removeOption: (fieldId: string, optionIndex: number) => void;
    resetForm: () => void;
};
export {};
