import type { RepomixConfigMerged } from '../../config/configSchema.js'; import type { RepomixProgressCallback } from '../../shared/types.js'; import type { ProcessedFile } from '../file/fileTypes.js'; import type { GitDiffResult } from '../git/gitDiffHandle.js'; import type { GitLogResult } from '../git/gitLogHandle.js'; import { type MetricsTaskRunner } from './metricsWorkerRunner.js'; import type { TokenEncoding } from './TokenCounter.js'; export interface CalculateMetricsResult { totalFiles: number; totalCharacters: number; totalTokens: number; fileCharCounts: Record; fileTokenCounts: Record; gitDiffTokenCount: number; gitLogTokenCount: number; } export interface MetricsTaskRunnerWithWarmup { taskRunner: MetricsTaskRunner; warmupPromise: Promise; } export declare const createMetricsTaskRunner: (numOfTasks: number, encoding: TokenEncoding) => MetricsTaskRunnerWithWarmup; declare const defaultDeps: { calculateFileMetrics: (processedFiles: ProcessedFile[], targetFilePaths: string[], tokenCounterEncoding: TokenEncoding, progressCallback: RepomixProgressCallback, deps: { taskRunner: MetricsTaskRunner; }) => Promise; calculateOutputMetrics: (content: string, encoding: TokenEncoding, path: string | undefined, deps: { taskRunner: MetricsTaskRunner; }) => Promise; calculateGitDiffMetrics: (config: RepomixConfigMerged, gitDiffResult: GitDiffResult | undefined, deps: { taskRunner: MetricsTaskRunner; }) => Promise; calculateGitLogMetrics: (config: RepomixConfigMerged, gitLogResult: GitLogResult | undefined, deps: { taskRunner: MetricsTaskRunner; }) => Promise<{ gitLogTokenCount: number; }>; taskRunner: MetricsTaskRunner | undefined; }; export declare const extractOutputWrapper: (output: string, processedFilesInOutputOrder: ReadonlyArray) => string | null; export declare const canUseFastOutputTokenPath: (config: RepomixConfigMerged) => boolean; export declare const calculateMetrics: (processedFiles: ProcessedFile[], outputPromise: Promise, progressCallback: RepomixProgressCallback, config: RepomixConfigMerged, gitDiffResult: GitDiffResult | undefined, gitLogResult: GitLogResult | undefined, overrideDeps?: Partial) => Promise; export {};