import type { QualityHexagonMetrics, GitMetadata } from '@principal-ai/codebase-quality-lenses'; import type { FileTree } from '@principal-ai/repository-abstraction'; import type { ToolExecutionResponse } from '../service/QualityLensService'; export type { QualityHexagonMetrics, GitMetadata }; export interface PackageQualityMetrics { name: string; path?: string; hexagon: QualityHexagonMetrics; lensesRan: string[]; isOrchestrator?: boolean; } export interface FormattedResults { metadata: { timestamp: string; version: string; totalPackages: number; totalLenses: number; git?: GitMetadata; }; results: Array<{ package: { name: string; path?: string; }; lens: { id: string; command: string; }; execution: { success: boolean; exitCode?: number; duration?: number; timestamp: number; }; issues: unknown[]; metrics: Record; coverage?: unknown; fileMetrics?: unknown[]; qualityContext: Record; error?: string; }>; qualityMetrics?: { packages: PackageQualityMetrics[]; }; } export interface LensExecutionResult { package: string; packagePath?: string; lens: string; command: string; result?: ToolExecutionResponse; error?: string; timestamp: number; } export declare class JsonFormatter { private fileTree?; private fileCountsByPackage; setFileTree(fileTree: FileTree): void; private calculateFileCountsPerPackage; getFileCountForPackage(packagePath: string): number; private mapLensToHexagonDimension; private getIssuePath; private findOwningPackage; private distributeIssuesToPackages; private createMetricsFromIssues; private recalculateMetricsFromIssues; private extractQualityScore; private calculateHexagonMetrics; private getGitMetadata; private calculatePerPackageMetrics; format(results: LensExecutionResult[], skippedPackages?: Array<{ name: string; path?: string; }>, orchestratorPackageName?: string): string; } //# sourceMappingURL=JsonFormatter.d.ts.map