import * as cdk from "@aws-cdk/core"; import * as cxapi from "@aws-cdk/cx-api"; import { FunctionProps, FunctionHandlerProps } from "./Function"; import { StaticSiteEnvironmentOutputsInfo } from "./StaticSite"; export declare type DeployProps = AppDeployProps; /** * Deploy props for apps. */ export interface AppDeployProps { /** * The app name, used to prefix stacks. * * @default - Defaults to empty string */ readonly name?: string; /** * The stage to deploy this app to. * * @default - Defaults to dev */ readonly stage?: string; /** * The region to deploy this app to. * * @default - Defaults to us-east-1 */ readonly region?: string; readonly lint?: boolean; readonly typeCheck?: boolean; readonly buildDir?: string; readonly skipBuild?: boolean; readonly esbuildConfig?: string; readonly debugEndpoint?: string; readonly debugBucketArn?: string; readonly debugBucketName?: string; readonly debugIncreaseTimeout?: boolean; /** * The callback after synth completes, used by `sst start`. * * @default - Defaults to undefined */ readonly synthCallback?: (lambdaHandlers: Array, staticSiteEnvironments: StaticSiteEnvironmentOutputsInfo[]) => void; } export declare type AppProps = cdk.AppProps; export declare class App extends cdk.App { /** * Is the app being deployed locally */ readonly local: boolean; /** * The app name */ readonly name: string; readonly stage: string; readonly region: string; readonly lint: boolean; readonly account: string; readonly typeCheck: boolean; readonly buildDir: string; readonly esbuildConfig?: string; readonly debugEndpoint?: string; readonly debugBucketArn?: string; readonly debugBucketName?: string; readonly debugIncreaseTimeout?: boolean; defaultFunctionProps: (FunctionProps | ((stack: cdk.Stack) => FunctionProps))[]; /** * The callback after synth completes. */ private readonly synthCallback?; /** * A list of Lambda functions in the app */ private readonly lambdaHandlers; private readonly staticSiteEnvironments; /** * Skip building Function code * Note that on `sst remove`, we do not want to bundle the Lambda functions. * CDK disables bundling (ie. zipping) for `cdk destroy` command. * But SST runs `cdk synth` first then manually remove each stack. Hence * we cannot rely on CDK to disable bundling, and we disable it manually. * This allows us to disable BOTH building and bundling, where as CDK * would only disable the latter. For example, `cdk destroy` still trys * to install Python dependencies in Docker. */ readonly skipBuild: boolean; constructor(deployProps?: AppDeployProps, props?: AppProps); logicalPrefixedName(logicalName: string): string; setDefaultFunctionProps(props: FunctionProps | ((stack: cdk.Stack) => FunctionProps)): void; synth(options?: cdk.StageSynthesisOptions): cxapi.CloudAssembly; isJestTest(): boolean; registerLambdaHandler(handler: FunctionHandlerProps): void; registerStaticSiteEnvironment(environment: StaticSiteEnvironmentOutputsInfo): void; processInputFiles(): void; getInputFilesFromEsbuildMetafile(file: string): Array; runLint(srcPath: string, inputFiles: Array): void; runTypeCheck(srcPath: string, inputFiles: Array): void; }