import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Resource type definition for AWS::Route53Resolver::ResolverEndpoint
 */
export declare class ResolverEndpoint extends pulumi.CustomResource {
    /**
     * Get an existing ResolverEndpoint 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): ResolverEndpoint;
    /**
     * Returns true if the given object is an instance of ResolverEndpoint.  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 ResolverEndpoint;
    /**
     * The Amazon Resource Name (ARN) of the resolver endpoint, such as arn:aws:route53resolver:us-east-1:123456789012:resolver-endpoint/resolver-endpoint-a1bzhi.
     */
    readonly arn: pulumi.Output<string>;
    /**
     * Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:
     * - INBOUND: allows DNS queries to your VPC from your network
     * - OUTBOUND: allows DNS queries from your VPC to your network
     */
    readonly direction: pulumi.Output<string>;
    /**
     * The ID of the VPC that you want to create the resolver endpoint in.
     */
    readonly hostVpcId: pulumi.Output<string>;
    /**
     * The number of IP addresses that the resolver endpoint can use for DNS queries.
     */
    readonly ipAddressCount: pulumi.Output<string>;
    /**
     * The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.
     */
    readonly ipAddresses: pulumi.Output<outputs.route53resolver.ResolverEndpointIpAddressRequest[]>;
    /**
     * A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.
     */
    readonly name: pulumi.Output<string | undefined>;
    /**
     * The ARN (Amazon Resource Name) for the Outpost.
     */
    readonly outpostArn: pulumi.Output<string | undefined>;
    /**
     * The Amazon EC2 instance type.
     */
    readonly preferredInstanceType: pulumi.Output<string | undefined>;
    /**
     * Protocols used for the endpoint. DoH-FIPS is applicable for inbound endpoints only.
     */
    readonly protocols: pulumi.Output<string[] | undefined>;
    /**
     * The ID of the resolver endpoint.
     */
    readonly resolverEndpointId: pulumi.Output<string>;
    /**
     * The Resolver endpoint IP address type.
     */
    readonly resolverEndpointType: pulumi.Output<enums.route53resolver.ResolverEndpointType | undefined>;
    /**
     * The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.
     */
    readonly securityGroupIds: pulumi.Output<string[]>;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * Create a ResolverEndpoint 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: ResolverEndpointArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a ResolverEndpoint resource.
 */
export interface ResolverEndpointArgs {
    /**
     * Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:
     * - INBOUND: allows DNS queries to your VPC from your network
     * - OUTBOUND: allows DNS queries from your VPC to your network
     */
    direction: pulumi.Input<string>;
    /**
     * The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.
     */
    ipAddresses: pulumi.Input<pulumi.Input<inputs.route53resolver.ResolverEndpointIpAddressRequestArgs>[]>;
    /**
     * A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.
     */
    name?: pulumi.Input<string>;
    /**
     * The ARN (Amazon Resource Name) for the Outpost.
     */
    outpostArn?: pulumi.Input<string>;
    /**
     * The Amazon EC2 instance type.
     */
    preferredInstanceType?: pulumi.Input<string>;
    /**
     * Protocols used for the endpoint. DoH-FIPS is applicable for inbound endpoints only.
     */
    protocols?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The Resolver endpoint IP address type.
     */
    resolverEndpointType?: pulumi.Input<enums.route53resolver.ResolverEndpointType>;
    /**
     * The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.
     */
    securityGroupIds: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}
