import type { InterpolatedEmbeddedHsonTemplate } from "../embedded-hson/discover-hson-tagged-templates.js"; import type { HostSourceRange } from "../embedded-hson/embedded-hson-source.js"; export type InterpolationSite = Readonly<{ templateId: string; moduleUrl: string; sourceRevision: string; templateRange: HostSourceRange; literals: readonly Readonly<{ range: HostSourceRange; raw: string; boundaries: readonly number[]; }>[]; expressions: readonly HostSourceRange[]; }>; export type GeneratedSegment = Readonly<{ kind: "literal" | "substitution"; index: number; start: number; end: number; scalarKind?: string; }>; export type HostOrigin = Readonly<{ kind: "literal-exact" | "substitution-expression" | "anchor" | "composite" | "unresolved"; range: HostSourceRange; scalarKind?: string; }>; export declare function interpolation_site(source: InterpolatedEmbeddedHsonTemplate, moduleUrl: string): InterpolationSite; /** Raw template bytes are preserved except ECMAScript physical newline normalization. * All offsets are UTF-16; expression origins are semantic, never character maps. */ export declare function map_interpolation_range(site: InterpolationSite, segments: readonly GeneratedSegment[], range: Readonly<{ precision: "exact" | "anchor" | "unresolved"; start?: number; end?: number; }>): HostOrigin; //# sourceMappingURL=interpolation-source.d.ts.map