import MemberDef from './memberdef.js'; /** * Stringifies a MemberDef into its schema definition format. * * @param memberDef The MemberDef to stringify * @param includeTypes Whether to include type annotations * @returns The stringified schema definition for this member * * @example * ```typescript * // Simple type * stringifyMemberDef({ type: 'string', path: 'name' }, true) * // → "string" * * // With constraints * stringifyMemberDef({ type: 'number', min: 0, max: 100 }, true) * // → "{number, min:0, max:100}" * * // Nested object (includes type annotations for reconstruction) * stringifyMemberDef({ * type: 'object', * schema: { names: ['street', 'city'], defs: {...} } * }, true) * // → "{street: string, city: string}" * * // Schema variable reference * stringifyMemberDef({ * type: 'object', * schema: new TokenNode('$address', {...}) * }, true) * // → "$address" * * // Schema reference via schemaRef * stringifyMemberDef({ * type: 'object', * schemaRef: '$address' * }, true) * // → "$address" * ``` */ declare function stringifyMemberDef(memberDef: MemberDef, includeTypes: boolean): string; /** * Formats a constraint value for output in schema definition. * Handles primitives, arrays, and nested objects recursively. * * @param value The constraint value to format * @returns Formatted string representation */ declare function formatConstraintValue(value: any): string; export { formatConstraintValue, stringifyMemberDef };