import { JsonPointer, SchemaNode } from 'json-schema-library'; import { JsonNode, NodeType, ObjectNode, JsonSchema } from '../types'; export interface DefaultNodeOptions { /** additional classnames the ui should add to the root of this data point */ classNames?: string[]; /** description of this data point */ description?: string; /** if changes to this data point are disabled */ disabled: boolean; /** if supported, will add a placeholder for the input element */ placeholder?: string; /** if this data point should be hidden from display */ hidden: boolean; /** title of this data point */ title?: string; /** disable edit of form, but allow selection and copy of value */ readOnly?: boolean; /** flag data as required (visual only) */ required?: boolean; /** arrays only: if an item may be added without causing a validation error */ canAddItem?: boolean; /** arrays only: if an item may be removed without causing a validation error */ canRemoveItem?: boolean; } type CreateNode = (schemaNode: SchemaNode, data: any, pointer: JsonPointer, isArrayItem: boolean) => JsonNode; export declare function getOptions(schema: JsonSchema, property: string): DefaultNodeOptions; export declare function updateOptionalPropertyList(node: ObjectNode): void; export declare const NODES: Record; export declare function _createNode(schemaNode: SchemaNode, data: unknown, pointer: JsonPointer, isArrayItem?: boolean): T; export declare function createNode(schemaNode: SchemaNode, data: unknown, pointer?: JsonPointer, isArrayItem?: boolean): T; export {};