import { awscdk, Task } from 'projen';
import { DeployableAwsCdkTypeScriptAppOptions, DeployOptions, EnvironmentOptions } from './types';
export * from './types';
export * as utils from './utils';
export declare class DeployableAwsCdkTypeScriptApp extends awscdk.AwsCdkTypeScriptApp {
    /**
     * Task to deploy your app.
     */
    readonly deployWorkflowTask: Task;
    private readonly deployable;
    private readonly generateNvmrc;
    private readonly checkActiveDeployment;
    private readonly workflowNodeVersion?;
    protected deployOptions: DeployOptions;
    private readonly codeArtifactOptions?;
    constructor(options: DeployableAwsCdkTypeScriptAppOptions);
    /**
     * return the major node version set for the project
     * @default 16
     */
    get majorNodeVersion(): number;
    private getMethodArgument;
    synth(): void;
    /**
     * Add new environments to the application
     * @param items list of environment options
     */
    addEnvironments(...items: EnvironmentOptions[]): void;
    private updateEnvironments;
    /**
     * Updates the postDeployWorkflowScript for environments
     * @param script the script to be added, for example "post:deploy"
     * @param environmentNameFilter the name of environments to add the scripts to, if not provided or empty will update all
     */
    updatePostDeployWorkflowScriptToEnvironments(script: string, environmentNameFilter?: string[]): void;
    /**
     * Updates the preDeployWorkflowScript for environments
     * @param script the script to be added, for example "pre:deploy"
     * @param environmentNameFilter the name of environments to add the scripts to, if not provided or empty will update all
     */
    updatePreDeployWorkflowScriptToEnvironments(script: string, environmentNameFilter?: string[]): void;
    private addDeployJobs;
}
