import type { RepomixConfigMerged } from '../config/configSchema.js'; import type { RepomixProgressCallback } from '../shared/types.js'; import { type SkippedFileInfo } from './file/fileCollect.js'; import type { ProcessedFile } from './file/fileTypes.js'; import type { SuspiciousFileResult } from './security/securityCheck.js'; export interface PackResult { totalFiles: number; totalCharacters: number; totalTokens: number; fileCharCounts: Record; fileTokenCounts: Record; gitDiffTokenCount: number; gitLogTokenCount: number; suspiciousFilesResults: SuspiciousFileResult[]; suspiciousGitDiffResults: SuspiciousFileResult[]; suspiciousGitLogResults: SuspiciousFileResult[]; processedFiles: ProcessedFile[]; safeFilePaths: string[]; skippedFiles: SkippedFileInfo[]; } declare const defaultDeps: { searchFiles: (rootDir: string, config: RepomixConfigMerged, explicitFiles?: string[]) => Promise; collectFiles: (filePaths: string[], rootDir: string, config: RepomixConfigMerged, progressCallback?: RepomixProgressCallback, deps?: { initTaskRunner: (options: import("../shared/processConcurrency.js").WorkerOptions) => import("../shared/processConcurrency.js").TaskRunner; }) => Promise; processFiles: (rawFiles: import("./file/fileTypes.js").RawFile[], config: RepomixConfigMerged, progressCallback: RepomixProgressCallback, deps?: { initTaskRunner: typeof import("../shared/processConcurrency.js").initTaskRunner; getFileManipulator: (filePath: string) => import("./file/fileManipulate.js").FileManipulator | null; }) => Promise; generateOutput: (rootDirs: string[], config: RepomixConfigMerged, processedFiles: ProcessedFile[], allFilePaths: string[], gitDiffResult?: import("./git/gitDiffHandle.js").GitDiffResult | undefined, gitLogResult?: import("./git/gitLogHandle.js").GitLogResult | undefined, deps?: { buildOutputGeneratorContext: (rootDirs: string[], config: RepomixConfigMerged, allFilePaths: string[], processedFiles: ProcessedFile[], gitDiffResult?: import("./git/gitDiffHandle.js").GitDiffResult | undefined, gitLogResult?: import("./git/gitLogHandle.js").GitLogResult | undefined, deps?: { listDirectories: (rootDir: string, config: RepomixConfigMerged) => Promise; listFiles: (rootDir: string, config: RepomixConfigMerged) => Promise; searchFiles: (rootDir: string, config: RepomixConfigMerged, explicitFiles?: string[]) => Promise; }) => Promise; generateHandlebarOutput: (config: RepomixConfigMerged, renderContext: import("./output/outputGeneratorTypes.js").RenderContext, processedFiles?: ProcessedFile[]) => Promise; generateParsableXmlOutput: (renderContext: import("./output/outputGeneratorTypes.js").RenderContext) => Promise; generateParsableJsonOutput: (renderContext: import("./output/outputGeneratorTypes.js").RenderContext) => Promise; sortOutputFiles: (files: ProcessedFile[], config: RepomixConfigMerged, deps?: { getFileChangeCount: (directory: string, maxCommits?: number, deps?: { execGitLogFilenames: (directory: string, maxCommits?: number, deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; }) => Promise>; isGitInstalled: (deps?: { execGitVersion: (deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; }) => Promise; }) => Promise; }) => Promise; validateFileSafety: (rawFiles: import("./file/fileTypes.js").RawFile[], progressCallback: RepomixProgressCallback, config: RepomixConfigMerged, gitDiffResult?: import("./git/gitDiffHandle.js").GitDiffResult, gitLogResult?: import("./git/gitLogHandle.js").GitLogResult, deps?: { runSecurityCheck: (rawFiles: import("./file/fileTypes.js").RawFile[], progressCallback?: RepomixProgressCallback, gitDiffResult?: import("./git/gitDiffHandle.js").GitDiffResult, gitLogResult?: import("./git/gitLogHandle.js").GitLogResult, deps?: { initTaskRunner: (options: import("../shared/processConcurrency.js").WorkerOptions) => import("../shared/processConcurrency.js").TaskRunner; }) => Promise; filterOutUntrustedFiles: (rawFiles: import("./file/fileTypes.js").RawFile[], suspiciousFilesResults: SuspiciousFileResult[]) => import("./file/fileTypes.js").RawFile[]; }) => Promise<{ safeRawFiles: import("./file/fileTypes.js").RawFile[]; safeFilePaths: string[]; suspiciousFilesResults: SuspiciousFileResult[]; suspiciousGitDiffResults: SuspiciousFileResult[]; suspiciousGitLogResults: SuspiciousFileResult[]; }>; writeOutputToDisk: (output: string, config: RepomixConfigMerged) => Promise; copyToClipboardIfEnabled: (output: string, progressCallback: RepomixProgressCallback, config: RepomixConfigMerged) => Promise; calculateMetrics: (processedFiles: ProcessedFile[], output: string, progressCallback: RepomixProgressCallback, config: RepomixConfigMerged, gitDiffResult: import("./git/gitDiffHandle.js").GitDiffResult | undefined, gitLogResult: import("./git/gitLogHandle.js").GitLogResult | undefined, deps?: { calculateSelectiveFileMetrics: (processedFiles: ProcessedFile[], targetFilePaths: string[], tokenCounterEncoding: import("tiktoken").TiktokenEncoding, progressCallback: RepomixProgressCallback, deps: { taskRunner: import("../shared/processConcurrency.js").TaskRunner; }) => Promise; calculateOutputMetrics: (content: string, encoding: import("tiktoken").TiktokenEncoding, path: string | undefined, deps: { taskRunner: import("../shared/processConcurrency.js").TaskRunner; }) => Promise; calculateGitDiffMetrics: (config: RepomixConfigMerged, gitDiffResult: import("./git/gitDiffHandle.js").GitDiffResult | undefined, deps: { taskRunner: import("../shared/processConcurrency.js").TaskRunner; }) => Promise; calculateGitLogMetrics: (config: RepomixConfigMerged, gitLogResult: import("./git/gitLogHandle.js").GitLogResult | undefined, deps: { taskRunner: import("../shared/processConcurrency.js").TaskRunner; }) => Promise<{ gitLogTokenCount: number; }>; taskRunner: import("../shared/processConcurrency.js").TaskRunner | undefined; }) => Promise; sortPaths: (filePaths: string[]) => string[]; getGitDiffs: (rootDirs: string[], config: RepomixConfigMerged, deps?: { getWorkTreeDiff: (directory: string, deps?: { execGitDiff: (directory: string, options?: string[], deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; isGitRepository: (directory: string, deps?: { execGitRevParse: (directory: string, deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; }) => Promise; }) => Promise; getStagedDiff: (directory: string, deps?: { execGitDiff: (directory: string, options?: string[], deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; isGitRepository: (directory: string, deps?: { execGitRevParse: (directory: string, deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; }) => Promise; }) => Promise; }) => Promise; getGitLogs: (rootDirs: string[], config: RepomixConfigMerged, deps?: { getGitLog: (directory: string, maxCommits: number, deps?: { execGitLog: (directory: string, maxCommits: number, gitSeparator: string, deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; isGitRepository: (directory: string, deps?: { execGitRevParse: (directory: string, deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; }) => Promise; }) => Promise; }) => Promise; }; export declare const pack: (rootDirs: string[], config: RepomixConfigMerged, progressCallback?: RepomixProgressCallback, overrideDeps?: Partial, explicitFiles?: string[]) => Promise; export {}; //# sourceMappingURL=packager.d.ts.map