import { AutoCodeInspection } from "../../api/goal/common/AutoCodeInspection";
import { Autofix } from "../../api/goal/common/Autofix";
import { ExtensionPack } from "../../api/machine/ExtensionPack";
import { ReviewListenerRegistration } from "../../api/registration/ReviewListenerRegistration";
/**
 * Categories of functionality to enable
 */
export interface Categories {
    cloudNative?: boolean;
    springStyle?: boolean;
}
/**
 * Options determining what Spring functionality is activated.
 */
export interface SpringSupportOptions {
    desiredSpringBootVersion: string;
    /**
     * Inspect goal to add inspections to.
     * Review functionality won't work otherwise.
     */
    inspectGoal?: AutoCodeInspection;
    /**
     * Autofix goal to add autofixes to.
     * Autofix functionality won't work otherwise.
     */
    autofixGoal?: Autofix;
    review: Categories;
    autofix: Categories;
    /**
     * Whether to apply spring-format automatically, if an autofixGoal is provided
     */
    springFormat?: boolean;
    /**
     * Review listeners that let you publish review results.
     */
    reviewListeners?: ReviewListenerRegistration | ReviewListenerRegistration[];
}
/**
 * Extension pack offering Spring Boot support.
 * Adds Spring Boot related commands and automatic repo tagging
 * on the first push we see. Use options to determine whether
 * reviews and autofixes run.
 */
export declare function springSupport(options: SpringSupportOptions): ExtensionPack;
//# sourceMappingURL=spring.d.ts.map