import type { CompiledRule, Violation } from './compiler-schema.js';
export type FindingSeverity = 'error' | 'warning' | 'info';
export type FindingSource = 'lint' | 'shield';
export type FindingCategory = 'security' | 'architecture' | 'style' | 'performance';
/**
 * Unified finding model — canonical output shape for both lint and shield.
 * Consumed by SARIF, PR comments, and CLI output formatters.
 * ADR-071: Unified Findings Model.
 */
export interface TotemFinding {
    /** Unique finding ID — lessonHash for lint, generated for shield */
    id: string;
    /** Which system produced this finding */
    source: FindingSource;
    /** Severity level — unified across lint and shield */
    severity: FindingSeverity;
    /** Human-readable description */
    message: string;
    /** File path (relative to project root) */
    file?: string;
    /** 1-based line number */
    line?: number;
    /** Matched source line content (lint only) */
    matchedLine?: string;
    /** Rule/lesson heading (lint) or category label (shield) */
    ruleHeading?: string;
    /** Confidence score 0-1 (shield only, always 1.0 for lint) */
    confidence: number;
    /** Category tag */
    category?: FindingCategory;
}
/** Convert a lint Violation into a unified TotemFinding. */
export declare function violationToFinding(v: Violation): TotemFinding;
/** Reconstruct the CompiledRule + Violation from a lint-sourced TotemFinding (for SARIF compat). */
export declare function findingToViolation(f: TotemFinding, ruleMap: Map<string, CompiledRule>): Violation | null;
//# sourceMappingURL=finding.d.ts.map