import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * The AWS::EC2::VerifiedAccessEndpoint resource creates an AWS EC2 Verified Access Endpoint.
 */
export declare class VerifiedAccessEndpoint extends pulumi.CustomResource {
    /**
     * Get an existing VerifiedAccessEndpoint resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): VerifiedAccessEndpoint;
    /**
     * Returns true if the given object is an instance of VerifiedAccessEndpoint.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is VerifiedAccessEndpoint;
    /**
     * The DNS name for users to reach your application.
     */
    readonly applicationDomain: pulumi.Output<string | undefined>;
    /**
     * The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.
     */
    readonly attachmentType: pulumi.Output<string>;
    /**
     * The options for cidr type endpoint.
     */
    readonly cidrOptions: pulumi.Output<outputs.ec2.VerifiedAccessEndpointCidrOptions | undefined>;
    /**
     * The creation time.
     */
    readonly creationTime: pulumi.Output<string>;
    /**
     * A description for the AWS Verified Access endpoint.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * Returned if endpoint has a device trust provider attached.
     */
    readonly deviceValidationDomain: pulumi.Output<string>;
    /**
     * The ARN of a public TLS/SSL certificate imported into or created with ACM.
     */
    readonly domainCertificateArn: pulumi.Output<string | undefined>;
    /**
     * A DNS name that is generated for the endpoint.
     */
    readonly endpointDomain: pulumi.Output<string>;
    /**
     * A custom identifier that gets prepended to a DNS name that is generated for the endpoint.
     */
    readonly endpointDomainPrefix: pulumi.Output<string | undefined>;
    /**
     * 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.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.
     */
    readonly endpointType: pulumi.Output<string>;
    /**
     * The last updated time.
     */
    readonly lastUpdatedTime: pulumi.Output<string>;
    /**
     * The load balancer details if creating the AWS Verified Access endpoint as load-balancer type.
     */
    readonly loadBalancerOptions: pulumi.Output<outputs.ec2.VerifiedAccessEndpointLoadBalancerOptions | undefined>;
    /**
     * The options for network-interface type endpoint.
     */
    readonly networkInterfaceOptions: pulumi.Output<outputs.ec2.VerifiedAccessEndpointNetworkInterfaceOptions | undefined>;
    /**
     * The AWS Verified Access policy document.
     */
    readonly policyDocument: pulumi.Output<string | undefined>;
    /**
     * The status of the Verified Access policy.
     */
    readonly policyEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The options for rds type endpoint.
     */
    readonly rdsOptions: pulumi.Output<outputs.ec2.VerifiedAccessEndpointRdsOptions | undefined>;
    /**
     * The IDs of the security groups for the endpoint.
     */
    readonly securityGroupIds: pulumi.Output<string[] | undefined>;
    /**
     * The configuration options for customer provided KMS encryption.
     */
    readonly sseSpecification: pulumi.Output<outputs.ec2.VerifiedAccessEndpointSseSpecification | undefined>;
    /**
     * The endpoint status.
     */
    readonly status: pulumi.Output<string>;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * The ID of the AWS Verified Access endpoint.
     */
    readonly verifiedAccessEndpointId: pulumi.Output<string>;
    /**
     * The ID of the AWS Verified Access group.
     */
    readonly verifiedAccessGroupId: pulumi.Output<string>;
    /**
     * The ID of the AWS Verified Access instance.
     */
    readonly verifiedAccessInstanceId: pulumi.Output<string>;
    /**
     * Create a VerifiedAccessEndpoint resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: VerifiedAccessEndpointArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a VerifiedAccessEndpoint resource.
 */
export interface VerifiedAccessEndpointArgs {
    /**
     * The DNS name for users to reach your application.
     */
    applicationDomain?: pulumi.Input<string>;
    /**
     * The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.
     */
    attachmentType: pulumi.Input<string>;
    /**
     * The options for cidr type endpoint.
     */
    cidrOptions?: pulumi.Input<inputs.ec2.VerifiedAccessEndpointCidrOptionsArgs>;
    /**
     * A description for the AWS Verified Access endpoint.
     */
    description?: pulumi.Input<string>;
    /**
     * The ARN of a public TLS/SSL certificate imported into or created with ACM.
     */
    domainCertificateArn?: pulumi.Input<string>;
    /**
     * A custom identifier that gets prepended to a DNS name that is generated for the endpoint.
     */
    endpointDomainPrefix?: pulumi.Input<string>;
    /**
     * 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.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.
     */
    endpointType: pulumi.Input<string>;
    /**
     * The load balancer details if creating the AWS Verified Access endpoint as load-balancer type.
     */
    loadBalancerOptions?: pulumi.Input<inputs.ec2.VerifiedAccessEndpointLoadBalancerOptionsArgs>;
    /**
     * The options for network-interface type endpoint.
     */
    networkInterfaceOptions?: pulumi.Input<inputs.ec2.VerifiedAccessEndpointNetworkInterfaceOptionsArgs>;
    /**
     * The AWS Verified Access policy document.
     */
    policyDocument?: pulumi.Input<string>;
    /**
     * The status of the Verified Access policy.
     */
    policyEnabled?: pulumi.Input<boolean>;
    /**
     * The options for rds type endpoint.
     */
    rdsOptions?: pulumi.Input<inputs.ec2.VerifiedAccessEndpointRdsOptionsArgs>;
    /**
     * The IDs of the security groups for the endpoint.
     */
    securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The configuration options for customer provided KMS encryption.
     */
    sseSpecification?: pulumi.Input<inputs.ec2.VerifiedAccessEndpointSseSpecificationArgs>;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * The ID of the AWS Verified Access group.
     */
    verifiedAccessGroupId: pulumi.Input<string>;
}
