import { Value } from '../../cloudformation/Value';
import { LoadBalancerOptionsProps } from './verifiedaccessendpoint/LoadBalancerOptionsProps';
import { SseSpecificationProps } from './verifiedaccessendpoint/SseSpecificationProps';
import { Tag } from '../Tag';
import { NetworkInterfaceOptionsProps } from './verifiedaccessendpoint/NetworkInterfaceOptionsProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type VerifiedAccessEndpointAttributes = {
    Status: Attribute<string>;
    EndpointDomain: Attribute<string>;
    CreationTime: Attribute<string>;
    LastUpdatedTime: Attribute<string>;
    DeviceValidationDomain: Attribute<string>;
    VerifiedAccessInstanceId: Attribute<string>;
    VerifiedAccessEndpointId: Attribute<string>;
};
export type VerifiedAccessEndpoint = AwsResource<'AWS::EC2::VerifiedAccessEndpoint', VerifiedAccessEndpointProperties, VerifiedAccessEndpointAttributes>;
/**
  An AWS Verified Access endpoint specifies the application that AWS Verified Access provides access to. It must be attached to an AWS Verified Access group. An AWS Verified Access endpoint must also have an attached access policy before you attached it to a group.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html">the AWS Docs</a>
*/
export declare function verifiedAccessEndpoint(verifiedAccessEndpointProps: VerifiedAccessEndpointProperties): VerifiedAccessEndpoint;
/**
  An AWS Verified Access endpoint specifies the application that AWS Verified Access provides access to. It must be attached to an AWS Verified Access group. An AWS Verified Access endpoint must also have an attached access policy before you attached it to a group.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html">the AWS Docs</a>
*/
export interface VerifiedAccessEndpointProperties {
    /** <code>AttachmentType</code>  <a name="cfn-ec2-verifiedaccessendpoint-attachmenttype"></a>
  The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>vpc</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> */
    attachmentType: Value<'vpc'>;
    /** <code>Description</code>  <a name="cfn-ec2-verifiedaccessendpoint-description"></a>
  A description for the AWS Verified Access endpoint.<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> */
    description?: Value<string>;
    /** <code>DomainCertificateArn</code>  <a name="cfn-ec2-verifiedaccessendpoint-domaincertificatearn"></a>
  The ARN of a public TLS/SSL certificate imported into or created with ACM.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    domainCertificateArn: Value<string>;
    /** <code>VerifiedAccessGroupId</code>  <a name="cfn-ec2-verifiedaccessendpoint-verifiedaccessgroupid"></a>
  The ID of the AWS Verified Access group.<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> */
    verifiedAccessGroupId: Value<string>;
    /** <code>SecurityGroupIds</code>  <a name="cfn-ec2-verifiedaccessendpoint-securitygroupids"></a>
  The IDs of the security groups for the endpoint.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    securityGroupIds?: Value<Value<string>[]>;
    /** <code>LoadBalancerOptions</code>  <a name="cfn-ec2-verifiedaccessendpoint-loadbalanceroptions"></a>
  The load balancer details if creating the AWS Verified Access endpoint as <code>load-balancer</code>type.<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> */
    loadBalancerOptions?: LoadBalancerOptionsProps;
    /** <code>ApplicationDomain</code>  <a name="cfn-ec2-verifiedaccessendpoint-applicationdomain"></a>
  The DNS name for users to reach your application.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    applicationDomain: Value<string>;
    /** <code>PolicyEnabled</code>  <a name="cfn-ec2-verifiedaccessendpoint-policyenabled"></a>
  The status of the Verified Access policy.<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> */
    policyEnabled?: Value<boolean>;
    /** <code>EndpointDomainPrefix</code>  <a name="cfn-ec2-verifiedaccessendpoint-endpointdomainprefix"></a>
  A custom identifier that is prepended to the DNS name that is generated for the endpoint.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    endpointDomainPrefix: Value<string>;
    /** <code>EndpointType</code>  <a name="cfn-ec2-verifiedaccessendpoint-endpointtype"></a>
  The type of AWS Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>load-balancer | network-interface</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> */
    endpointType: Value<'load-balancer' | 'network-interface'>;
    /** <code>PolicyDocument</code>  <a name="cfn-ec2-verifiedaccessendpoint-policydocument"></a>
  The Verified Access policy document.<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> */
    policyDocument?: Value<string>;
    /**  */
    sseSpecification?: SseSpecificationProps;
    /** <code>Tags</code>  <a name="cfn-ec2-verifiedaccessendpoint-tags"></a>
  The tags.<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[];
    /** <code>NetworkInterfaceOptions</code>  <a name="cfn-ec2-verifiedaccessendpoint-networkinterfaceoptions"></a>
  The options for network-interface type endpoint.<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> */
    networkInterfaceOptions?: NetworkInterfaceOptionsProps;
}
