import { FulfillableGoalDetails, FulfillableGoalWithRegistrations, Goal, ImplementationRegistration } from "@atomist/sdm";
/**
 * Options for Docker deployment goal
 */
export interface DockerDeployRegistration extends Partial<ImplementationRegistration> {
    /**
     * Starting port to be scanned for free ports. Defaults to 9090
     */
    lowerPort?: number;
    /**
     * Pattern that indicates that the container has started up correctly
     */
    successPatterns: RegExp[];
    /**
     * Base URL for the docker container. Probably localhost or your Docker machine IP. Defaults to localhost
     */
    baseUrl?: string;
    /**
     * The exposed port in the Dockerfile to be mapped externally
     */
    sourcePort: number;
}
/**
 * Goal definition for deployment using Docker
 */
export declare const DockerDeployGoal: Goal;
/**
 * This goal will deploy the Docker image built by the `DockerBuild` goal. Deployments mapped
 * to free ports and a deployment will be done per branch.
 */
export declare class DockerDeploy extends FulfillableGoalWithRegistrations<DockerDeployRegistration> {
    private readonly goalDetailsOrUniqueName;
    constructor(goalDetailsOrUniqueName?: FulfillableGoalDetails | string, ...dependsOn: Goal[]);
    with(registration: DockerDeployRegistration): this;
}
