/** * Rendering half of the repo map: turning a ranked candidate list into * budgeted skeleton sections. Shared by the graph-ranked generator and the * filesystem fallback so the two produce the same section format. */ import { type SkeletonOptions } from './skeleton-extractor.js'; export interface RepoMapCandidate { /** Absolute path, for reading. */ absolute: string; /** Project-relative POSIX path, for display. */ relative: string; } export interface RenderSectionsOptions { skeleton?: SkeletonOptions | undefined; /** * Largest a single file's section may be. Without it one 9k-token type * module consumes the entire budget and the "map" describes one file. The * point of a map is breadth, so each file gets a slice and the rest of the * budget goes to the next-most-central file. */ maxSectionChars?: number | undefined; /** * Drop comment-only lines so the budget buys declarations, not prose. * On for the map body; off for callers that want the skeleton verbatim. */ signaturesOnly?: boolean | undefined; } export interface RenderedSections { sections: string[]; /** Relative paths actually included, in order. */ files: string[]; /** Characters consumed by `sections`, including the blank-line separators. */ chars: number; } /** * Extract skeletons for `candidates` in order until `charBudget` is exhausted. * * Unreadable and empty files are skipped rather than ending the walk, so one * deleted-since-index path cannot truncate the whole map. */ export declare function renderSkeletonSections(candidates: readonly RepoMapCandidate[], charBudget: number, options?: RenderSectionsOptions): Promise; //# sourceMappingURL=repo-map-render.d.ts.map