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 { GitDiffResult } from '../git/gitDiffHandle.js'; import type { GitLogResult } from '../git/gitLogHandle.js'; import type { PackOptions, PackResult } from '../packager.js'; import type { SuspiciousFileResult } from '../security/securityCheck.js'; export interface SkillReferences { summary: string; structure: string; files: string; techStack?: string; } export interface SkillReferencesResult { references: SkillReferences; skillName: string; projectName: string; skillDescription: string; totalFiles: number; totalLines: number; statisticsSection: string; hasTechStack: boolean; sourceUrl?: string; } export interface SkillOutputResult { skillMd: string; references: SkillReferences; } export declare const generateSkillReferences: (skillName: string, rootDirs: string[], config: RepomixConfigMerged, processedFiles: ProcessedFile[], allFilePaths: string[], gitDiffResult?: GitDiffResult | undefined, gitLogResult?: GitLogResult | undefined, skillProjectName?: string, skillSourceUrl?: string, deps?: { buildOutputGeneratorContext: (rootDirs: string[], config: RepomixConfigMerged, allFilePaths: string[], processedFiles: ProcessedFile[], gitDiffResult?: GitDiffResult | undefined, gitLogResult?: GitLogResult | undefined, filePathsByRoot?: import("../file/fileTreeGenerate.js").FilesByRoot[], emptyDirPaths?: string[], deps?: { listDirectories: (rootDir: string, config: RepomixConfigMerged) => Promise; listFiles: (rootDir: string, config: RepomixConfigMerged) => Promise; searchFiles: (rootDir: string, config: RepomixConfigMerged, explicitFiles?: string[]) => Promise; }) => Promise; sortOutputFiles: (files: ProcessedFile[], config: RepomixConfigMerged, deps?: import("../output/outputSort.js").SortDeps) => Promise; }) => Promise; export declare const generateSkillMdFromReferences: (referencesResult: SkillReferencesResult, totalTokens: number) => SkillOutputResult; export interface PackSkillParams { rootDirs: string[]; config: RepomixConfigMerged; options: PackOptions; processedFiles: ProcessedFile[]; allFilePaths: string[]; gitDiffResult: GitDiffResult | undefined; gitLogResult: GitLogResult | undefined; suspiciousFilesResults: SuspiciousFileResult[]; suspiciousGitDiffResults: SuspiciousFileResult[]; suspiciousGitLogResults: SuspiciousFileResult[]; safeFilePaths: string[]; skippedFiles: SkippedFileInfo[]; progressCallback: RepomixProgressCallback; } export declare const packSkill: (params: PackSkillParams, deps?: { buildOutputGeneratorContext: (rootDirs: string[], config: RepomixConfigMerged, allFilePaths: string[], processedFiles: ProcessedFile[], gitDiffResult?: GitDiffResult | undefined, gitLogResult?: GitLogResult | undefined, filePathsByRoot?: import("../file/fileTreeGenerate.js").FilesByRoot[], emptyDirPaths?: string[], deps?: { listDirectories: (rootDir: string, config: RepomixConfigMerged) => Promise; listFiles: (rootDir: string, config: RepomixConfigMerged) => Promise; searchFiles: (rootDir: string, config: RepomixConfigMerged, explicitFiles?: string[]) => Promise; }) => Promise; sortOutputFiles: (files: ProcessedFile[], config: RepomixConfigMerged, deps?: import("../output/outputSort.js").SortDeps) => Promise; calculateMetrics: (processedFiles: ProcessedFile[], outputPromise: Promise, progressCallback: RepomixProgressCallback, config: RepomixConfigMerged, gitDiffResult: GitDiffResult | undefined, gitLogResult: GitLogResult | undefined, overrideDeps?: Partial<{ calculateFileMetrics: (processedFiles: ProcessedFile[], targetFilePaths: string[], tokenCounterEncoding: import("../metrics/tokenEncodings.js").TokenEncoding, progressCallback: RepomixProgressCallback, deps: { taskRunner: import("../metrics/metricsWorkerRunner.js").MetricsTaskRunner; }) => Promise; calculateOutputMetrics: (content: string, encoding: import("../metrics/tokenEncodings.js").TokenEncoding, path: string | undefined, deps: { taskRunner: import("../metrics/metricsWorkerRunner.js").MetricsTaskRunner; }) => Promise; calculateGitDiffMetrics: (config: RepomixConfigMerged, gitDiffResult: GitDiffResult | undefined, deps: { taskRunner: import("../metrics/metricsWorkerRunner.js").MetricsTaskRunner; }) => Promise; calculateGitLogMetrics: (config: RepomixConfigMerged, gitLogResult: GitLogResult | undefined, deps: { taskRunner: import("../metrics/metricsWorkerRunner.js").MetricsTaskRunner; }) => Promise<{ gitLogTokenCount: number; }>; taskRunner: import("../metrics/metricsWorkerRunner.js").MetricsTaskRunner | undefined; }>) => Promise; writeSkillOutput: (output: SkillOutputResult, skillDir: string, deps?: { mkdir: typeof import("fs/promises").mkdir; writeFile: typeof import("fs/promises").writeFile; }) => Promise; generateDefaultSkillName: (rootDirs: string[]) => string; }) => Promise;