///
import * as npmUtil from "@pagedip/util-npm";
import * as child_process from "mz/child_process";
import gitUrlParse from "git-url-parse";
import { BranchMatcher } from "./util";
import { Package } from "./package";
import { Release } from "./release";
export declare namespace Env {
interface ResolveOptions {
basedir?: string;
dryrun?: boolean;
branch?: BranchMatcher | BranchMatcher[];
registryUrl?: string;
publishRegistryUrl?: string;
progress?: (pkg: Lerna.Package, total: number) => any;
gitRemoteName?: string;
gitTagTemplates?: string[];
skipBuild?: boolean;
npmAccess?: boolean;
npmDistTags?: boolean;
}
interface Git {
branch?: string;
head: string;
tagTemplates: string[];
remote?: gitUrlParse.GitUrl;
skipBuild?: boolean;
}
interface NPM {
package: npmUtil.Package;
registryUrl: string;
publishRegistryUrl?: string;
access?: boolean;
distTags?: boolean;
}
interface Lerna {
project: Lerna.Project;
packages: Lerna.Package[];
}
interface CI {
name: string;
pullRequest: boolean;
}
}
export declare class Env {
id: number;
dryrun: boolean;
basedir: string;
packages: Map;
release: Release;
git: Env.Git;
npm: Env.NPM;
lerna?: Env.Lerna | undefined;
ci?: Env.CI | undefined;
static resolveNpm(basedir: string, pkg: npmUtil.Package, options?: Env.ResolveOptions): Promise;
static resolveTravisCI(): Promise;
static resolveGit(basedir: string, pkg: npmUtil.Package, options?: Env.ResolveOptions): Promise;
static resolveLerna(project: Lerna.Project): Promise;
static resolveId(basedir: string): Promise;
static resolvePackages(basedir: string, npm: Env.NPM, release: Release, lerna?: Env.Lerna, progress?: (pkg: Lerna.Package, total: number) => any): Promise