// generated by diplomat-tool import type { NucleationError } from "./NucleationError.mjs" import type { Schematic } from "./Schematic.mjs" import type { pointer, codepoint } from "./diplomat-runtime.d.ts"; /** * A computed diff between two schematics. */ export class Diff { /** @internal */ get ffiValue(): pointer; /** @internal */ constructor(); /** * Diff two schematics with the given preset (default cost model). * Errors with `InvalidArgument` on an unknown preset. */ static compute(a: Schematic, b: Schematic, preset: string): Diff; /** * Diff two schematics with optional cost/symmetry overrides. Negative * cost ints mean "unset" (use the preset default); an empty `symmetry` * string means "unset". Errors with `InvalidArgument` on an unknown * preset or symmetry name. */ static computeWithOpts(a: Schematic, b: Schematic, preset: string, costAdd: number, costDelete: number, costChange: number, costSwap: number, symmetry: string): Diff; /** * Reconstruct a diff from its JSON representation. */ static fromJson(json: string): Diff; /** * The edit distance of the diff. */ distance(): bigint; /** * The support (alignment confidence) of the diff. */ support(): number; /** * Serialize the diff to its full JSON representation. */ toJson(): string; /** * Serialize the diff to its compact summary JSON. */ summaryJson(): string; /** * A new schematic containing only the blocks added in this diff. */ added(): Schematic; /** * A new schematic containing only the blocks removed in this diff. */ removed(): Schematic; /** * A new schematic containing only the blocks changed in this diff. */ changed(): Schematic; /** * A new schematic containing only the blocks swapped in this diff. */ swapped(): Schematic; /** * A new schematic with marker blocks summarizing this diff. */ markers(): Schematic; /** * Render a diff overlay on top of an "after" GLB buffer, returning the * new GLB as base64 (PORTING rule 6). Requires the `meshing` feature; * errors with `Mesh` when compiled without it. */ toOverlayGlbB64(afterGlb: Array): string; }