import { GitProject } from "@atomist/automation-client/lib/project/git/GitProject";
import { ExecuteGoalResult } from "../../../api/goal/ExecuteGoalResult";
import { GoalInvocation, GoalProjectListenerRegistration } from "../../../api/goal/GoalInvocation";
/**
 * Update package files with pre-release version for the provided goal
 * invocation.
 *
 * @param p Project to modify package files in
 * @param gi SDM goal invocation triggering this preparation
 * @return Success or failure
 */
export declare function npmVersionPreparation(p: GitProject, gi: GoalInvocation): Promise<ExecuteGoalResult>;
/**
 * Install Node.js dependencies using NPM, running `npm install` or
 * `npm ci`, as appropriate.
 *
 * @param p Project to install dependencies for
 * @param gi SDM goal invocation triggering this preparation
 * @return Success or failure
 */
export declare function npmInstallPreparation(p: GitProject, gi: GoalInvocation): Promise<ExecuteGoalResult>;
/**
 * Run NPM package compile script, if present.
 *
 * @param p Project to run compile script in
 * @param gi SDM goal invocation triggering this preparation
 * @return Success or failure
 */
export declare function npmCompilePreparation(p: GitProject, gi: GoalInvocation): Promise<ExecuteGoalResult>;
/**
 * Project listener that runs [[npmVersionPreparation]] before executing goal.
 */
export declare const NpmVersionProjectListener: GoalProjectListenerRegistration;
/**
 * Project listener that runs [[npmInstallPreparation]] before executing goal.
 */
export declare const NpmInstallProjectListener: GoalProjectListenerRegistration;
/**
 * Project listener that runs [[npmCompilePreparation]] before executing goal.
 */
export declare const NpmCompileProjectListener: GoalProjectListenerRegistration;
/**
 * Listener that stores the `node_modules` directory in the configured
 * cache after a goal invocation.
 */
export declare const NpmNodeModulesCachePut: GoalProjectListenerRegistration;
/**
 * Listener that restores the `node_modules` directory from the
 * configured cache before a goal invocation.
 */
export declare const NpmNodeModulesCacheRestore: GoalProjectListenerRegistration;
/**
 * Listener that stores the output from TypeScript compilation in the
 * configured cache after a goal invocation.
 */
export declare const TypeScriptCompileCachePut: GoalProjectListenerRegistration;
/**
 * Listener that restores the output from TypeScript compilation from
 * the configured cache before a goal invocation.
 */
export declare const TypeScriptCompileCacheRestore: GoalProjectListenerRegistration;
//# sourceMappingURL=npm.d.ts.map