import * as iam from "../../aws-iam";
import * as route53 from "../../aws-route53";
import * as cdk from "../../core";
import { Construct } from 'constructs';
import { CertificateProps, ICertificate } from './certificate';
import { CertificateBase } from './certificate-base';
/**
 * (experimental) Properties to create a DNS validated certificate managed by AWS Certificate Manager.
 *
 * @experimental
 */
export interface DnsValidatedCertificateProps extends CertificateProps {
    /**
     * (experimental) Route 53 Hosted Zone used to perform DNS validation of the request.
     *
     * The zone
     * must be authoritative for the domain name specified in the Certificate Request.
     *
     * @experimental
     */
    readonly hostedZone: route53.IHostedZone;
    /**
     * (experimental) AWS region that will host the certificate.
     *
     * This is needed especially
     * for certificates used for CloudFront distributions, which require the region
     * to be us-east-1.
     *
     * @default the region the stack is deployed in.
     * @experimental
     */
    readonly region?: string;
    /**
     * (experimental) An endpoint of Route53 service, which is not necessary as AWS SDK could figure out the right endpoints for most regions, but for some regions such as those in aws-cn partition, the default endpoint is not working now, hence the right endpoint need to be specified through this prop.
     *
     * Route53 is not been officially launched in China, it is only available for AWS
     * internal accounts now. To make DnsValidatedCertificate work for internal accounts
     * now, a special endpoint needs to be provided.
     *
     * @default - The AWS SDK will determine the Route53 endpoint to use based on region
     * @experimental
     */
    readonly route53Endpoint?: string;
    /**
     * (experimental) Role to use for the custom resource that creates the validated certificate.
     *
     * @default - A new role will be created
     * @experimental
     */
    readonly customResourceRole?: iam.IRole;
}
/**
 * (experimental) A certificate managed by AWS Certificate Manager.
 *
 * Will be automatically
 * validated using DNS validation against the specified Route 53 hosted zone.
 *
 * @experimental
 * @resource AWS::CertificateManager::Certificate
 */
export declare class DnsValidatedCertificate extends CertificateBase implements ICertificate, cdk.ITaggable {
    /**
     * (experimental) The certificate's ARN.
     *
     * @experimental
     */
    readonly certificateArn: string;
    /**
     * (experimental) Resource Tags.
     *
     * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-tags
     * @experimental
     */
    readonly tags: cdk.TagManager;
    /**
     * (experimental) If the certificate is provisionned in a different region than the containing stack, this should be the region in which the certificate lives so we can correctly create `Metric` instances.
     *
     * @experimental
     */
    protected readonly region?: string;
    private normalizedZoneName;
    private hostedZoneId;
    private domainName;
    /**
     * @experimental
     */
    constructor(scope: Construct, id: string, props: DnsValidatedCertificateProps);
    private validateDnsValidatedCertificate;
}
