import { JSONSchema7 } from 'json-schema';
import { FormSchema } from '../form.types';
/**
 * Given the data for the current SchemaField, detect if the changed data
 * has any other fields that are dependent on it, and if so reset those dependent fields
 * (by deleting them from the data so that their defaults are populated on the next rerender).
 * Call onChange with the updated data
 *
 * @param oldData - The previous data before a data change event
 * @param newData - The form data from a change event
 * @param schema - The schema associated with the data
 * @param rootSchema - The root schema
 */
export declare const resetDependentFields: (oldData: any, newData: any, schema: any, rootSchema: any) => any;
/**
 * Check if the schema is of type object and have no declared properties
 *
 * @param schema - the schema
 * @returns true if the schema is for a custom object
 */
export declare function isCustomObjectSchema(schema: FormSchema): boolean;
/**
 * Check whether a schema permits `null` as a valid value. Used to decide
 * whether a cleared field value should be preserved as `null` or converted
 * to `undefined` so the property can be removed from the form data.
 *
 * @param schema - the schema to check
 * @returns true if the schema's type is `'null'` or includes `'null'`
 */
export declare const schemaAllowsNull: (schema: JSONSchema7 | undefined) => boolean;
//# sourceMappingURL=field-helpers.d.ts.map