import { Project, ProjectReview, ReviewComment, Severity, SourceLocation } from "@atomist/automation-client";
import { ReviewerRegistration } from "@atomist/sdm";
export declare const MutableInjectionCategory = "Mutable injection";
export declare class MutableInjection implements ReviewComment {
    name: string;
    type: "field" | "setter";
    sourceLocation: SourceLocation;
    severity: Severity;
    category: string;
    subcategory: string;
    constructor(name: string, type: "field" | "setter", sourceLocation: SourceLocation);
    readonly detail: string;
}
/**
 * Find all fields or setters annotated with @Autowired or @Inject in the codebase.
 * This is an undesirable usage pattern in application code, although
 * acceptable in tests.
 * @param {Project} p project to search
 * @param globPattern glob pattern. Defaults to Maven convention Java source files
 * location of source tree.
 */
export declare function findMutableInjections(p: Project, globPattern?: string): Promise<ProjectReview>;
export declare const MutableInjectionsReviewer: ReviewerRegistration;
