export interface BoundaryRule {
    from: string;
    cannot_import?: string[];
    can_only_import?: string[];
}
export interface BoundaryViolation {
    file: string;
    imports: string;
    rule_from: string;
    reason: string;
}
export interface CheckBoundariesResult {
    violations: BoundaryViolation[];
    edges_checked: number;
    rules_applied: number;
    passed: boolean;
}
/**
 * Check architecture boundary rules against the import graph.
 *
 * Rules use path substring matching:
 *   { from: "src/domain", cannot_import: ["src/infrastructure", "src/api"] }
 *   { from: "src/api", can_only_import: ["src/domain", "src/application"] }
 *
 * `cannot_import` — files matching `from` must NOT import files matching any listed pattern.
 * `can_only_import` — files matching `from` may ONLY import files matching one of the listed patterns.
 */
export declare function checkBoundaries(repo: string, rules: BoundaryRule[], options?: {
    file_pattern?: string | undefined;
}): Promise<CheckBoundariesResult>;
//# sourceMappingURL=boundary-tools.d.ts.map