import { HostedZoneTagProps } from './hostedzone/HostedZoneTagProps';
import { VPCProps } from './hostedzone/VPCProps';
import { HostedZoneConfigProps } from './hostedzone/HostedZoneConfigProps';
import { QueryLoggingConfigProps } from './hostedzone/QueryLoggingConfigProps';
import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type HostedZoneAttributes = {
    Id: Attribute<string>;
    NameServers: Attribute<string[]>;
};
export type HostedZone = AwsResource<'AWS::Route53::HostedZone', HostedZoneProperties, HostedZoneAttributes>;
/**
  Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs).
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html">the AWS Docs</a>
*/
export declare function hostedZone(hostedZoneProps?: HostedZoneProperties): HostedZone;
/**
  Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs).
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html">the AWS Docs</a>
*/
export interface HostedZoneProperties {
    /** <code>HostedZoneTags</code>  <a name="cfn-route53-hostedzone-hostedzonetags"></a>
  Adds, edits, or deletes tags for a health check or a hosted zone.<br />
  For information about using tags for cost allocation, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation Tags</a> in the * AWS Billing and Cost Management User Guide*.<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> */
    hostedZoneTags?: HostedZoneTagProps[];
    /** <code>VPCs</code>  <a name="cfn-route53-hostedzone-vpcs"></a>
  
  Private hosted zones::  complex type that contains information about the VPCs that are associated with the specified hosted zone.<br />
  For public hosted zones, omit <code>VPCs</code>, <code>VPCId</code>, and <code>VPCRegion</code>.
  
  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> */
    vPCs?: VPCProps[];
    /** <code>HostedZoneConfig</code>  <a name="cfn-route53-hostedzone-hostedzoneconfig"></a>
  A complex type that contains an optional comment.<br />
  If you don’t want to specify a comment, omit the <code>HostedZoneConfig</code> and <code>Comment</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> */
    hostedZoneConfig?: HostedZoneConfigProps;
    /** <p> */
    queryLoggingConfig?: QueryLoggingConfigProps;
    /** <code>Name</code>  <a name="cfn-route53-hostedzone-name"></a>
  The name of the domain. Specify a fully qualified domain name, for example,
  www.example.com: without a trailing dot) and
  www.example.com.: with a trailing dot) as identical.<br />
  If you’re creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of <code>NameServers</code> that are returned by the <code>Fn::GetAtt</code> intrinsic function.<br />
  
  Required: No<br />
  
  Maximum: <code>1024</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name?: Value<string>;
}
