import IODefinitions from '../../core/definitions.cjs'; import Node from '../../parser/nodes/nodes.cjs'; import IOSchema from '../schema.cjs'; import TypeDef from '../typedef.cjs'; import MemberDef from './memberdef.cjs'; import '../schema-types.cjs'; import '../../core/positions.cjs'; /** * Represents the ObjectTypeDef which is reponsible for parsing, * validating, loading and serializing Objects. */ declare class ObjectDef implements TypeDef { private _names; /** * Returns the type this instance is going to handle. * Always returns object */ get type(): string; static get types(): string[]; get schema(): IOSchema; /** * Parses the object in IO format into JavaScript object. */ parse: (node: Node, memberDef: MemberDef, defs?: IODefinitions) => any; /** * Load: Validates a JavaScript object against the schema */ load: (value: any, memberDef: MemberDef, defs?: IODefinitions) => any; /** * Stringify: Converts a JavaScript object to IO text format * Returns undefined if value is undefined (signals to skip this field) */ stringify: (value: any, memberDef: MemberDef, defs?: IODefinitions) => string | undefined; /** * Internal helper to load and validate a plain JS object according to schema */ private _loadObject; /** * Internal helper to stringify an object according to schema */ private _stringifyObject; /** * Resolves a schema reference - handles both Schema instances and variable references */ private _resolveSchema; /** * Resolves variable references in memberDef fields */ private _resolveMemberDefVariables; private _process; } export { ObjectDef as default };