import { DistributionConfigProps } from './distribution/DistributionConfigProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type DistributionAttributes = {
    DomainName: Attribute<string>;
    Id: Attribute<string>;
};
export type Distribution = AwsResource<'AWS::CloudFront::Distribution', DistributionProperties, DistributionAttributes>;
/**
  A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html">the AWS Docs</a>
*/
export declare function distribution(distributionProps: DistributionProperties): Distribution;
/**
  A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html">the AWS Docs</a>
*/
export interface DistributionProperties {
    /** <code>DistributionConfig</code>  <a name="cfn-cloudfront-distribution-distributionconfig"></a>
  The distribution’s configuration.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    distributionConfig: DistributionConfigProps;
    /** <code>Tags</code>  <a name="cfn-cloudfront-distribution-tags"></a>
  A complex type that contains zero or more <code>Tag</code> elements.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
}
