import type { RepomixConfigMerged } from '../../config/configSchema.js'; import type { RepomixProgressCallback } from '../../shared/types.js'; import type { FilesByRoot } from '../file/fileTreeGenerate.js'; import type { ProcessedFile } from '../file/fileTypes.js'; import type { GitDiffResult } from '../git/gitDiffHandle.js'; import type { GitLogResult } from '../git/gitLogHandle.js'; import type { generateOutput } from './outputGenerate.js'; export interface OutputSplitGroup { rootEntry: string; processedFiles: ProcessedFile[]; allFilePaths: string[]; } export interface OutputSplitPart { index: number; filePath: string; content: string; byteLength: number; groups: OutputSplitGroup[]; } export type GenerateOutputFn = typeof generateOutput; export declare const getRootEntry: (relativeFilePath: string) => string; export declare const buildOutputSplitGroups: (processedFiles: ProcessedFile[], allFilePaths: string[]) => OutputSplitGroup[]; export declare const buildSplitOutputFilePath: (baseFilePath: string, partIndex: number) => string; export declare const generateSplitOutputParts: ({ rootDirs, baseConfig, processedFiles, allFilePaths, maxBytesPerPart, gitDiffResult, gitLogResult, progressCallback, filePathsByRoot, emptyDirPaths, deps, }: { rootDirs: string[]; baseConfig: RepomixConfigMerged; processedFiles: ProcessedFile[]; allFilePaths: string[]; maxBytesPerPart: number; gitDiffResult: GitDiffResult | undefined; gitLogResult: GitLogResult | undefined; progressCallback: RepomixProgressCallback; filePathsByRoot?: FilesByRoot[]; emptyDirPaths?: string[]; deps: { generateOutput: GenerateOutputFn; }; }) => Promise;