import type { VcsMergeRequestChanges } from '../../../services/vcs-client/entities/vcs-merge-request-changes.type.js'; import type { VcsFileContent } from '../../../services/vcs-client/entities/vcs-file-content.type.js'; /** * @purpose Default file extension list for content collection (cat). * @consumer catGen */ export declare const DEFAULT_EXTENSIONS: string[]; /** * @purpose File collection options: extensions, exclusions, disabling default exclusions. * @consumer catGen */ export type CatGenOptions = { /** @purpose File extensions to include (e.g. ['.ts', '.md']). */ extensions?: string[]; /** @purpose Patterns or paths to exclude from collection. */ exclude?: string | string[]; /** @purpose When true, skip default node_modules exclusion. */ ignoreDefaultExcludes?: boolean; }; /** * @purpose Single catGen result: absolute path, relative path, file contents. * @consumer catGen, cmd/cat */ export type CatGenResult = { /** @purpose Absolute path of the collected file. */ absPath: string; /** @purpose Path relative to the working directory. */ relativePath: string; /** @purpose File contents as a UTF-8 string. */ contents: string; }; /** * @purpose Get contents of all files by specified glob patterns for output in XML/MD. * @sideEffect Filesystem: traversal and reading of files. * @consumer CLI (cmd/cat) */ export declare const catGen: (paths: string | string[], options?: CatGenOptions) => CatGenResult[]; /** * @purpose Pure function for converting VCS changes and contents into CatGenResult[]. * Filters deleted files and binary (encoding: base64). * @consumer cli/cmd/cat/cat-url.fn.ts */ export declare const catGenFromVcs: (changes: VcsMergeRequestChanges[], files: VcsFileContent[]) => CatGenResult[];