/** * CSS conflict reporting and file generation * Generates human-readable and machine-readable conflict reports */ import type { CSSRuleConflict } from '../analysis/conflicts'; /** * Metadata for conflict report generation */ export interface ConflictReportMetadata { /** Timestamp when report was generated */ generatedAt: string; /** Source CSS file path */ source: string; /** Package version */ version?: string; } /** * Summary statistics for conflicts */ interface ConflictSummary { /** Total number of conflicts detected */ total: number; /** Number of auto-resolved conflicts */ autoResolved: number; /** Number of conflicts requiring manual review */ manualReview: number; } /** * JSON structure for conflict report */ export interface ConflictReportJSON { generatedAt: string; source: string; version?: string; summary: ConflictSummary; conflicts: Array<{ variantName: string; themeProperty: string; themeKey: string; selector: string; variableValue: string; ruleValue: string; confidence: 'high' | 'medium' | 'low'; canResolve: boolean; applied: boolean; reason?: string; inMediaQuery?: boolean; mediaQuery?: string; }>; } /** * Runtime type guard for conflict report JSON structure * * @param data - The data to validate * @returns True if the data matches ConflictReportJSON structure */ export declare function isConflictReportJSON(data: unknown): data is ConflictReportJSON; /** * Generates Markdown report from conflicts * @param conflicts - Array of CSS rule conflicts * @param metadata - Report metadata * @returns Markdown content */ export declare function generateMarkdownReport(conflicts: Array, metadata: ConflictReportMetadata): string; /** * Generates JSON report from conflicts * @param conflicts - Array of CSS rule conflicts * @param metadata - Report metadata * @returns JSON content */ export declare function generateJSONReport(conflicts: Array, metadata: ConflictReportMetadata): string; /** * Writes conflict reports to files * @param outputDir - Directory to write reports to * @param conflicts - Array of CSS rule conflicts * @param metadata - Report metadata * @returns Promise resolving to written file paths */ export declare function writeConflictReports(outputDir: string, conflicts: Array, metadata: ConflictReportMetadata): Promise<{ markdown: string; json: string; }>; export {};