import { S as SyncDocumentReader, R as ResolvedSpec } from './resolver-DHYHw6oK.cjs'; export { f as composeReadersSync, g as createFileReaderSync } from './resolver-DHYHw6oK.cjs'; import './types-Dzi0PpYX.cjs'; import './lint-fVgIO4pF.cjs'; /** * Options accepted by {@link resolveSpecSync}. Mirror of * {@link ResolveSpecOptions} with a {@link SyncDocumentReader}. */ interface ResolveSpecSyncOptions { /** Synchronous reader used to fetch documents by URI. */ reader: SyncDocumentReader; /** Entry URI. */ entry: string; /** Base directory/URI for resolving relative refs. Defaults to the entry's directory. */ baseUri?: string; /** Run spec-hygiene lint passes against the resolved document. Defaults to `false`. */ lint?: boolean; } /** * Synchronous mirror of {@link resolveSpec}. Identical resolution * semantics (external-ref inlining, circular-ref stitching under * `$defs.__ext__`, internal-ref rewriting, sibling preservation, the * source list, and lint), driven by a {@link SyncDocumentReader} so it * returns a {@link ResolvedSpec} directly instead of a `Promise`. * * The walk skeleton below is a deliberate structural copy of * `resolveSpec`'s: JS function coloring means one body can't be both * `async` and sync, and the async resolver is the package's primary, * production surface that must not be rewritten to serve the * synchronous path. The duplication is confined to the * read-interleaving skeleton; every pure sub-step lives in * `./resolver-shared.ts`, shared with the async path. The sync/async * parity suite asserts the two produce identical output, throw * equivalently, and read documents in the identical order, so any * change to one walk that isn't mirrored in the other breaks the build. * * Blocking by construction (the reader reads files synchronously); for * boot-time / CLI use, not per-request. Use the async * {@link resolveSpec} for non-blocking contexts. * * @public */ declare function resolveSpecSync(options: ResolveSpecSyncOptions): ResolvedSpec; export { type ResolveSpecSyncOptions, SyncDocumentReader, resolveSpecSync };