/** * One file's contribution to a grouped file output. The header itself is generated * by `formatGroupedFiles` (single `#` for root files, `##` for files inside a dir); * use `headerSuffix` to tack on extras like ` (1 replacement)`. */ export interface GroupedFileSection { /** Optional suffix appended to the file header. */ headerSuffix?: string; /** Body lines emitted into the textual model output. */ modelLines: string[]; /** Body lines emitted into the display output. Defaults to `modelLines`. */ displayLines?: string[]; /** When true, the file (and its header) is omitted entirely. */ skip?: boolean; } export interface GroupedFilesOutput { model: string[]; display: string[]; } /** * Render a list of files as directory-grouped sections shared by grep, ast-grep, * ast-edit, and the LSP diagnostic formatter. * * Layout: * # dir/ * ## file.ts * …body… * * # otherdir/ * ## other.ts * …body… * * Files in the project root (directory `.`) become single-`#` headers without a * `## file` line, matching the existing convention. */ export declare function formatGroupedFiles(files: string[], renderFile: (filePath: string) => GroupedFileSection): GroupedFilesOutput;