import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as awsx from "@pulumi/awsx";
export interface CdnCloudFrontArgs {
    lb?: awsx.lb.ApplicationLoadBalancer;
    storage?: aws.s3.BucketV2;
    storagePathPattern?: string;
    cloudFrontDistributionArgs?: aws.cloudfront.DistributionArgs;
}
export declare class CdnCloudFront extends pulumi.ComponentResource {
    _args: CdnCloudFrontArgs;
    distribution: aws.cloudfront.Distribution;
    originAccessIdentity: aws.cloudfront.OriginAccessIdentity | null;
    originBucketPolicy: aws.s3.BucketPolicy | null;
    constructor(name: string | undefined, args: CdnCloudFrontArgs, opts?: pulumi.ComponentResourceOptions);
    getDistribution(): aws.cloudfront.Distribution;
    getOriginBucketPolicy(): aws.s3.BucketPolicy;
    getOriginAccessIdentity(): aws.cloudfront.OriginAccessIdentity;
}
