import s3 = require('@aws-cdk/aws-s3'); import { cloudformation } from './codebuild.generated'; import { Project } from './project'; export declare abstract class BuildArtifacts { abstract toArtifactsJSON(): cloudformation.ProjectResource.ArtifactsProperty; bind(_project: Project): void; } export declare class NoBuildArtifacts extends BuildArtifacts { toArtifactsJSON(): cloudformation.ProjectResource.ArtifactsProperty; } export declare class CodePipelineBuildArtifacts extends BuildArtifacts { toArtifactsJSON(): cloudformation.ProjectResource.ArtifactsProperty; } export interface S3BucketBuildArtifactsProps { /** * The name of the output bucket. */ bucket: s3.BucketRef; /** * The path inside of the bucket for the build output .zip file or folder. * If a value is not specified, then build output will be stored at the root of the * bucket (or under the directory if `includeBuildId` is set to true). */ path?: string; /** * The name of the build output ZIP file or folder inside the bucket. * * The full S3 object key will be "/build-ID/" or * "/" depending on whether `includeBuildId` is set to true. */ name: string; /** * Indicates if the build ID should be included in the path. If this is set to true, * then the build artifact will be stored in "//". * * @default true */ includeBuildID?: boolean; /** * If this is true, all build output will be packaged into a single .zip file. * Otherwise, all files will be uploaded to / * * @default true - files will be archived */ packageZip?: boolean; } export declare class S3BucketBuildArtifacts extends BuildArtifacts { private readonly props; constructor(props: S3BucketBuildArtifactsProps); bind(project: Project): void; toArtifactsJSON(): cloudformation.ProjectResource.ArtifactsProperty; private parseNamespaceType; private parsePackaging; }