import * as codebuild from 'aws-cdk-lib/aws-codebuild'; import type * as ecr from 'aws-cdk-lib/aws-ecr'; import * as iam from 'aws-cdk-lib/aws-iam'; import { Construct } from 'constructs'; /** * Singleton CodeBuild project for building container images. * * Creates a shared CodeBuild project at the stack level that can be reused * across multiple agent container builds. The project uses a privileged * ARM64 environment with Docker layer caching. * * The buildspec expects environment variables: * - ECR_REGISTRY: The ECR registry URL * - IMAGE_URI: The full image URI (repo:tag) * - DOCKERFILE_PATH: Path to the Dockerfile within the source */ export declare class ContainerBuildProject extends Construct { /** * Returns the singleton ContainerBuildProject for the given stack. * Creates a new one if it doesn't exist yet. */ static getOrCreate(scope: Construct): ContainerBuildProject; readonly project: codebuild.Project; readonly role: iam.Role; constructor(scope: Construct, id: string); /** * Grant the build project permission to push to a specific ECR repository. */ grantPushTo(repository: ecr.IRepository): void; } //# sourceMappingURL=ContainerBuildProject.d.ts.map