import IOCollection from '../core/collection.js'; import IODefinitions from '../core/definitions.js'; import IOObject from '../core/internet-object.js'; import IOSchema from './schema.js'; import './types/memberdef.js'; import './schema-types.js'; /** * Loads and validates a plain JavaScript object according to schema. * Uses TypeDef.load() methods to validate each field. * * @param data - Plain JavaScript object to validate * @param schema - Schema to validate against (or schema name if defs provided) * @param defs - Optional definitions for variable resolution and schema lookup * @returns InternetObject with validated data * @throws ValidationError if data doesn't conform to schema * * @example * ```typescript * const schema = compileSchema('person', '{ name: string, age: number }') * const data = { name: 'Alice', age: 28 } * const obj = loadObject(data, schema) * ``` */ declare function loadObject(data: any, schema: IOSchema | string, defs?: IODefinitions): IOObject; /** * Loads and validates an array of JavaScript objects as a collection. * Collects validation errors for individual items while continuing to process the rest. * * @param dataArray - Array of plain JavaScript objects to validate * @param schema - Schema to validate each item against * @param defs - Optional definitions for variable resolution * @param errorCollector - Optional array to collect validation errors * @returns Collection with validated InternetObjects and error objects * * @example * ```typescript * const schema = compileSchema('person', '{ name: string, age: number }') * const data = [ * { name: 'Alice', age: 28 }, * { name: 'Bob', age: 'invalid' } // Will create error object * ] * const errors: Error[] = [] * const collection = loadCollection(data, schema, undefined, errors) * // collection[0] is valid InternetObject * // collection[1] is error object with collectionIndex: 1 * // errors[0] contains the validation error details * ``` */ declare function loadCollection(dataArray: any[], schema: IOSchema | string, defs?: IODefinitions, errorCollector?: Error[]): IOCollection; export { loadCollection, loadObject };