/** * Face extraction — turn an ExtractedPattern's template into the * masked evidence face the report renders. * * A face is the pattern body with every variable slot shown as a * masked `$` chip — the product visibly working. The template already * carries `$` / `$(...)` slot markers from the engine; this module * only re-shapes them into render segments. It NEVER truncates inside * a line: long lines wrap/scroll in the template's CSS, and lines * beyond the cap are elided by COUNT ("+ N more lines in this * statement"), which is the one permitted elision. */ import type { ExtractedPattern } from '../pattern-extraction.js'; import type { EvidenceFace, FaceSegment } from './report-data.js'; /** Face lines shown before count-elision kicks in. */ export declare const MAX_FACE_LINES = 3; /** Split one template line into text / val / tab segments. */ export declare function segmentLine(line: string): FaceSegment[]; export declare function buildFace(p: ExtractedPattern, maxLines?: number): EvidenceFace;