/**
 * JSON Structure Default Value Extraction
 *
 * Utilities to recursively extract default values from JSON Structure schema definitions.
 * Priority order:
 * 1. Explicit `default` property (highest)
 * 2. First item of `examples` array
 * 3. `const` value
 * 4. First `enum` value
 * 5. Smart type-based defaults (computed)
 */
import type { JSONStructureSchema } from './structure-types';
/**
 * Extract default values from a JSON Structure schema.
 *
 * Recursively walks the schema and builds an object containing all defined defaults.
 * For object types, extracts defaults only for required properties.
 * For nullable types (union with null), returns null.
 * For arrays/sets with minItems, generates the minimum required items.
 *
 * @param schema - The JSON Structure schema
 * @returns The extracted default value, or undefined if none found
 *
 * @example
 * ```typescript
 * const schema = {
 *   $schema: 'https://json-structure.org/draft/2024-12/schema',
 *   $id: 'example',
 *   name: 'Example',
 *   $root: 'Root',
 *   definitions: {
 *     Root: {
 *       type: 'object',
 *       properties: {
 *         name: { type: 'string' },
 *         age: { type: 'int32', minimum: 0, maximum: 120 }
 *       },
 *       required: ['name', 'age']
 *     }
 *   }
 * }
 * const defaults = extractStructureDefaults(schema)
 * // { name: '', age: 60 }  // only required props, smart defaults
 * ```
 */
export declare function extractStructureDefaults(schema: JSONStructureSchema): unknown;
