import type { IdMapper, ImportExtension, RefHandling, SchemaMetaDataMap } from '../../types.js'; /** * Walk a (dereferenced) JSON schema and emit TypeScript source for it. * * - Inlined refs marked with REFERENCED_SCHEMA_ID_SYMBOL become either identifier * references (refHandling: "import") or "{ $ref: ... }" literals * (refHandling: "keep"). In "inline" mode the marker drives cycle detection. * - In "inline" mode, a cycle between dereferenced schemas is short-circuited * the second time the same id appears in the active ancestor chain; the * truncation is annotated with that id. * - Leading comments attached via LEADING_COMMENT_SYMBOL * are rendered as JS comments inside the relevant object literal. */ export declare function emitTsSchema({ rootSchema, refHandling, schemaMetaDataMap, absoluteDirName, importExtension, idMapper, }: { rootSchema: unknown; refHandling: RefHandling; schemaMetaDataMap: SchemaMetaDataMap; absoluteDirName: string; importExtension: ImportExtension; idMapper: IdMapper; }): { body: string; imports: string; isImportAlias: boolean; };