import type { z } from 'zod'; import type { DefinitionEntityWithNameResolver } from './definition-ref-builder.js'; import type { DefinitionExpression } from './expression-types.js'; import type { DefinitionReference } from './types.js'; /** * Payload returned after parsing, containing the data, references, entities, and expressions. * * @template TData - The type of the parsed data. */ export interface ExtractDefinitionRefsPayload { data: TData; references: DefinitionReference[]; entitiesWithNameResolver: DefinitionEntityWithNameResolver[]; expressions: DefinitionExpression[]; } /** * Extracts definition refs by walking the schema structure alongside the parsed data. * * Flow: * 1. Walk schema+data in parallel using registered collectors * 2. Resolve all slot references to actual paths * 3. Resolve entity, reference, and expression parent/slot paths * 4. Validate no duplicate IDs * * @param schema - The Zod schema used to validate the data * @param value - The parsed value (output of schema.parse()) * @returns The extracted refs with the original data unchanged */ export declare function extractDefinitionRefs(schema: z.ZodType, value: T): ExtractDefinitionRefsPayload; //# sourceMappingURL=extract-definition-refs.d.ts.map