import type { AgentEcrRepository } from './AgentEcrRepository'; import type { ContainerBuildProject } from './ContainerBuildProject'; import type { Asset } from 'aws-cdk-lib/aws-s3-assets'; import { Construct } from 'constructs'; export interface ContainerImageBuilderProps { /** * The shared CodeBuild project used for building container images. */ buildProject: ContainerBuildProject; /** * The S3 asset containing the source directory with Dockerfile. */ sourceAsset: { asset: Asset; }; /** * The ECR repository to push the built image to. */ repository: AgentEcrRepository; /** * Path to the Dockerfile within the source directory. * @default 'Dockerfile' */ dockerfile: string; } /** * Custom resource that triggers a CodeBuild build at deploy time to build and push * a container image to ECR. * * Uses an inline Lambda function that: * 1. Starts a CodeBuild build with the source asset and ECR target * 2. Polls for build completion * 3. Returns the container URI as a CloudFormation output * * The image tag is derived from the source asset hash, ensuring rebuilds only * happen when source code changes. */ export declare class ContainerImageBuilder extends Construct { readonly containerUri: string; constructor(scope: Construct, id: string, props: ContainerImageBuilderProps); } //# sourceMappingURL=ContainerImageBuilder.d.ts.map