export interface JsonSchemaProperty { type: "string" | "number" | "integer" | "boolean" | "array" | "object"; title?: string; description?: string; default?: unknown; required?: boolean; disabled?: boolean; visible?: boolean; name?: string; component?: string; format?: "email" | "uri" | "regex"; pattern?: string; minLength?: number; maxLength?: number; minItems?: number; maxItems?: number; minimum?: number; maximum?: number; enum?: unknown[]; oneOf?: unknown[]; anyOf?: unknown[]; items?: JsonSchemaProperty; properties?: Record; attrs?: Record; checked?: boolean; } export interface JsonSchema extends JsonSchemaProperty { $schema?: string; $id?: string; } export interface FormField { type: string; value: unknown; component?: string; schemaType: string; label: string; description: string; required: boolean; disabled: boolean; name: string; checked?: boolean; multiple?: boolean; items?: FormFieldItem[]; minlength?: number; maxlength?: number; pattern?: string; [key: string]: unknown; } export interface FormFieldItem { value: unknown; label: string; } export interface SubField { $sub: boolean; $title?: string; $description?: string; [key: string]: unknown; } export type Fields = Record; export interface VueInstance { value: Record; fields: Fields; $set: (target: Record, key: string, value: unknown) => void; } export type DeepCloneFunction = (obj: T) => T; export type GetChildFunction = (data: Record, ns: string[]) => unknown; export type InitChildFunction = (data: Record, ns: string[]) => Record; export type SetValFunction = (data: Record, n: string | string[], v: unknown) => unknown; export type ParseBooleanFunction = (vm: VueInstance, schema: JsonSchemaProperty, schemaName: string) => FormField; export type ParseStringFunction = (vm: VueInstance, schema: JsonSchemaProperty, schemaName: string) => FormField; export type ParseArrayFunction = (vm: VueInstance, schema: JsonSchemaProperty, schemaName: string) => FormField; export type ParseItemsFunction = (items: unknown[]) => FormFieldItem[]; export type LoadFieldsFunction = (vm: VueInstance, schema: JsonSchemaProperty, fields?: Fields, sub?: string[]) => void; //# sourceMappingURL=index.d.ts.map