import { Field, FieldType, ArrayType } from '../types';
import { Ref } from 'vue';
import { getDefaultValue } from '../utils/validation';
export declare function useJsonField(field: Ref<Field>, emit: (event: 'update:field', field: Field | null) => void): {
    open: Ref<boolean, boolean>;
    showAddDropdown: Ref<boolean, boolean>;
    adding: Ref<boolean, boolean>;
    editing: Ref<boolean, boolean>;
    fieldsCount: import('vue').ComputedRef<number>;
    fieldBackgroundClass: (type: FieldType) => string;
    fieldLabelClass: (type: FieldType) => string;
    fieldTypeLabel: (type: FieldType) => string;
    setFieldType: (type: FieldType, target: Field) => void;
    setArrayType: (type: ArrayType, target: Field) => void;
    updateNestedField: (index: number, updatedField: Field | null) => void;
    deleteField: () => void;
    getDefaultValue: typeof getDefaultValue;
};
