/**
 * Input for the architecture lint tool.
 */
export interface ArchitectureLintInput {
    /** Absolute path to the project root to scan. */
    projectPath: string;
    /** Optional: max lines per handler file (default: 50). */
    maxHandlerLines?: number;
    /** Optional: list of glob patterns to exclude (default: ['node_modules/**', '.git/**', 'dist/**']). */
    exclude?: string[];
    /** Optional: fail on first error (default: false). */
    failFast?: boolean;
}
/**
 * Severity of an architecture violation.
 */
export type ViolationSeverity = 'error' | 'warning' | 'critical';
/**
 * A single architecture rule violation.
 */
export interface ArchitectureViolation {
    /** Rule identifier (e.g., 'HANDLER_TOO_LONG'). */
    rule: string;
    /** Human-readable description. */
    message: string;
    /** File path relative to project root. */
    filePath: string;
    /** Line number (1-based), or 0 if N/A. */
    line: number;
    /** Severity. */
    severity: ViolationSeverity;
    /** Suggested fix. */
    suggestion: string;
}
/**
 * Summary counts per rule.
 */
export interface RuleSummary {
    rule: string;
    count: number;
    severity: ViolationSeverity;
}
/**
 * Complete architecture lint report.
 */
export interface ArchitectureLintReport {
    [key: string]: unknown;
    /** Whether the project passes all rules (zero errors). */
    pass: boolean;
    /** Total files scanned. */
    filesScanned: number;
    /** Total violations found. */
    totalViolations: number;
    /** Error count. */
    errorCount: number;
    /** Warning count. */
    warningCount: number;
    /** All violations. */
    violations: ArchitectureViolation[];
    /** Summary per rule. */
    ruleSummaries: RuleSummary[];
}
/**
 * Result returned by the architecture lint engine.
 */
export interface ArchitectureLintResult {
    report: ArchitectureLintReport;
    /** Human-readable summary (≤200 tokens). */
    humanSummary: string;
}
//# sourceMappingURL=architecture-lint.d.ts.map