import type { DNSName } from "../../../common/CustomTypes/DNSName";
import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString";
import type { Arn } from "../../CustomTypes/Arn";
import type { AwsResourceCommon } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
export declare type DomainNameType = 'AWS::ApiGatewayV2::DomainName';
export interface DomainName extends AwsResourceCommon {
    Type: DomainNameType;
    Properties: DomainNameProperties;
}
export interface DomainNameProperties {
    DomainName: DNSName;
    DomainNameConfigurations?: DomainNameConfiguration[];
    MutualTlsAuthentication?: MutualTlsAuthentication;
    Tags?: Record<string, string>;
}
export interface DomainNameConfiguration {
    CertificateArn?: CloudFormationValue<Arn>;
    CertificateName?: NonEmptyString;
    EndpointType?: EndpointType;
    OwnershipVerificationCertificateArn?: CloudFormationValue<Arn>;
    SecurityPolicy?: SecurityPolicy;
}
export declare type EndpointType = 'EDGE' | 'REGIONAL';
export declare type SecurityPolicy = 'TLS_1_0' | 'TLS_1_2';
export interface MutualTlsAuthentication {
    TruststoreUri?: CloudFormationValue;
    TruststoreVersion?: string;
}
