/// <reference path="../../../typings/node-pom-parser.d.ts" />
import { Auto, IPlugin } from "@auto-it/core";
import * as t from "io-ts";
import { IDeveloper } from "pom-parser";
/** Get the maven pom.xml for a project **/
export declare const getPom: (filePath?: string) => Promise<import("pom-parser").IPom>;
declare const pluginOptions: t.PartialC<{
    /** The maven binary to release the project with **/
    mavenCommand: t.StringC;
    /** A list of maven command customizations to pass to maven **/
    mavenOptions: t.ArrayC<t.StringC>;
    /** A list of maven goals to pass to maven for release **/
    mavenReleaseGoals: t.ArrayC<t.StringC>;
    /** Path to maven settings file **/
    mavenSettings: t.StringC;
    /** Print width for prettier formatting **/
    printWidth: t.NumberC;
    /** Tab width for prettier formatting **/
    tabWidth: t.NumberC;
    /**
     * The username to use when deploying to the maven repository
     *
     * @deprecated since 9.38.0
     **/
    mavenUsername: t.StringC;
    /**
     * The password to use when deploying to the maven repository
     *
     * @deprecated since 9.38.0
     **/
    mavenPassword: t.StringC;
}>;
export declare type IMavenPluginOptions = t.TypeOf<typeof pluginOptions>;
export interface IMavenProperties {
    /** version **/
    version?: string;
    /** git repository owner **/
    owner?: string;
    /** git repository **/
    repo?: string;
    /** the author **/
    developer?: IDeveloper;
}
/** Deploy project to maven repository */
export default class MavenPlugin implements IPlugin {
    /** The name of the plugin */
    readonly name = "maven";
    /** The options of the plugin **/
    private readonly options;
    /** cached properties **/
    private properties;
    /** should this release be a snapshot release **/
    private snapshotRelease;
    /** should pom.xml versions be handled with the "versions-maven-plugin" **/
    private versionsMavenPlugin;
    /** Initialize the plugin with its options **/
    constructor(options?: IMavenPluginOptions);
    /** Detect whether the parent pom.xml has the versions-maven-plugin **/
    private static detectVersionMavenPlugin;
    /** Get the properties from the pom.xml file **/
    private static getProperties;
    /** Update pom file, using whatever engine is configured */
    private updatePoms;
    /** Tap into auto plugin points. */
    apply(auto: Auto): void;
    /** Get the version from the current pom.xml **/
    private getVersion;
}
export {};
//# sourceMappingURL=index.d.ts.map