import { FulfillableGoalDetails, FulfillableGoalWithRegistrations, ImplementationRegistration } from "@atomist/sdm";
export interface MavenPerBranchDeploymentRegistration extends Partial<ImplementationRegistration> {
    /**
     * Lower port of the range that will be scanned for a free port
     */
    lowerPort: number;
    /**
     * Base URL on which the deployment will be done
     */
    baseUrl: string;
    /**
     * Pattern to find in output to indicate that the server has come up successfully.
     * For example, matching something like "Started SpringRestSeedApplication in 3.931 seconds"
     */
    successPatterns: RegExp[];
    /**
     * Command line arguments for the startup process
     */
    commandLineArgumentsFor: (port: number, contextRoot: string) => string[];
    /**
     * The maximum number of concurrent deployments we allow. This is a valuable
     * safeguard as too many can crash the machine.
     */
    maxConcurrentDeployments: number;
}
/**
 * Maven per branch deployer goal. Intended only for local use
 * on a development machine. Use only one per SDM.
 * One deployment will be managed for each branch pushed.
 */
export declare class MavenPerBranchDeployment extends FulfillableGoalWithRegistrations<MavenPerBranchDeploymentRegistration> {
    constructor(goalDetailsOrUniqueName?: FulfillableGoalDetails | string);
}
