import { Component, awscdk } from "projen";
export interface SstConfigurationOptions {
    /**
     * Maps branchNames to SST Stages.
     *
     * @default - The branchName will be used as the stage name.
     */
    readonly branchNameToSstStageMap?: Record<string, string>;
    /**
     * Where to build .sst code to.
     *
     * @default ".sst/dist/"
     */
    sstOut?: string;
    /**
     * The version of SST to use.
     *
     * @default "2.39.2"
     */
    sstVersion?: string;
}
export interface SstConfiguration {
    /**
     * Where to build .sst code to.
     *
     * @default ".sst/dist/"
     */
    sstOut: string;
}
export interface SstTypescriptAppOptions extends awscdk.AwsCdkTypeScriptAppOptions, SstConfigurationOptions {
}
export declare class SstTypescriptApp extends awscdk.AwsCdkTypeScriptApp {
    private readonly options;
    readonly branchNameToSstStageMap?: Record<string, string>;
    readonly sstConfig: SstConfiguration;
    readonly sstVersion: string;
    constructor(options: SstTypescriptAppOptions);
    private addIgnores;
    private createPersonalTasks;
    private overrideTasks;
    private overrideTasksForDefaultStage;
    private createTasksForBranch;
}
export declare class SstSampleCode extends Component {
    constructor(project: SstTypescriptApp);
    private createSstConfigFile;
    private createStackFile;
}
