import { GitProject } from "@atomist/automation-client";
import { ExecuteGoal, ExecuteGoalResult, GoalInvocation, PrepareForGoalExecution, SoftwareDeliveryMachine } from "@atomist/sdm";
import { ProjectIdentifier } from "@atomist/sdm-core";
import { NpmOptions } from "@atomist/sdm-pack-node";
/**
 * Add Node.js implementations of goals to SDM.
 *
 * @param sdm Software Delivery machine to modify
 * @return modified software delivery machine
 */
export declare function addNodeSupport(sdm: SoftwareDeliveryMachine): SoftwareDeliveryMachine;
/**
 * Information about local NPM package tgz file.
 */
export interface NpmPackageInfo {
    /** Local file system path to package tgz */
    path: string;
    /** URL where package was downloaded from */
    url: string;
    /** Version of package */
    version: string;
}
/**
 * Download the pre-release NPM package related to this project and
 * goal invocation and provide information back about it.  The caller
 * is responsible for cleaning up the downloaded files and its parent
 * directory.
 *
 * @param p Project to download NPM package for
 * @param gi Download package generated by this goal invocation
 * @return information about the NPM package
 */
export declare function downloadNpmPackage(p: GitProject, gi: GoalInvocation, v?: string): Promise<NpmPackageInfo>;
/**
 * Download published pre-release NPM package, replace the contents of
 * project with the contents of the package, and set the version to
 * the release version.
 */
export declare function npmReleasePreparation(p: GitProject, gi: GoalInvocation): Promise<ExecuteGoalResult>;
export declare const NpmReleasePreparations: PrepareForGoalExecution[];
export declare function executeReleaseNpm(projectIdentifier: ProjectIdentifier, preparations?: PrepareForGoalExecution[], options?: NpmOptions): ExecuteGoal;
export declare function docsReleasePreparation(p: GitProject, gi: GoalInvocation): Promise<ExecuteGoalResult>;
export declare const DocsReleasePreparations: PrepareForGoalExecution[];
/**
 * Publish TypeDoc to gh-pages branch.
 */
export declare function executeReleaseTypeDocs(preparations?: PrepareForGoalExecution[]): ExecuteGoal;
