import { GoalInvocation } from "@atomist/sdm";
import { SpawnedDeployment } from "@atomist/sdm-core";
/**
 * Options for the DockerPerBranchDeployer
 */
export interface DockerPerBranchDeployerOptions {
    /**
     * Starting port to be scanned for free ports
     */
    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
     */
    baseUrl: string;
    /**
     * The exposed port in the Dockerfile to be mapped externally
     */
    sourcePort: number;
}
/**
 * Deployer that uses `docker run` in order to deploy images produces by the `DockerBuild` goal.
 */
export declare class DockerPerBranchDeployer {
    private readonly options;
    readonly repoBranchToPort: {
        [repoAndBranch: string]: number;
    };
    private readonly portToContainer;
    constructor(options: DockerPerBranchDeployerOptions);
    deployProject(goalInvocation: GoalInvocation): Promise<SpawnedDeployment>;
}
