import { DependencySpecifier, VersionedArtifact } from "./VersionedArtifact";
/**
 * Plugin definition for a Maven POM
 */
export interface Plugin extends DependencySpecifier {
    group: string;
    artifact: string;
    version?: string;
    configuration?: any;
    extensions?: boolean;
    inherited?: boolean;
    dependencies?: VersionedArtifact[];
    executions?: PluginExecution[];
}
/**
 * Managed plugin definition for a Maven POM
 */
export interface ManagedPlugin extends DependencySpecifier {
    group: string;
    artifact: string;
    version: string;
    configuration?: any;
    extensions?: boolean;
    inherited?: boolean;
    dependencies?: VersionedArtifact[];
    executions?: PluginExecution[];
}
/**
 * Plugin execution definition for a Maven POM
 */
export interface PluginExecution {
    id: string;
    goals: PluginExecutionGoal[];
    phase: string;
    inherited: boolean;
    configuration: any;
}
/**
 * Plugin execution goal definition for a Maven POM
 */
export interface PluginExecutionGoal {
    name: string;
}
