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::ResolverRule
 */
export declare class ResolverRule extends pulumi.CustomResource {
    /**
     * Get an existing ResolverRule 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): ResolverRule;
    /**
     * Returns true if the given object is an instance of ResolverRule.  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 ResolverRule;
    /**
     * The Amazon Resource Name (ARN) of the resolver rule.
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The name server domain for queries to be delegated to if a query matches the delegation record.
     */
    readonly delegationRecord: pulumi.Output<string | undefined>;
    /**
     * DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps
     */
    readonly domainName: pulumi.Output<string | undefined>;
    /**
     * The name for the Resolver rule
     */
    readonly name: pulumi.Output<string | undefined>;
    /**
     * The ID of the endpoint that the rule is associated with.
     */
    readonly resolverEndpointId: pulumi.Output<string | undefined>;
    /**
     * The ID of the endpoint that the rule is associated with.
     */
    readonly resolverRuleId: pulumi.Output<string>;
    /**
     * When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD. When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.
     */
    readonly ruleType: pulumi.Output<enums.route53resolver.ResolverRuleRuleType>;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.
     */
    readonly targetIps: pulumi.Output<outputs.route53resolver.ResolverRuleTargetAddress[] | undefined>;
    /**
     * Create a ResolverRule 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: ResolverRuleArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a ResolverRule resource.
 */
export interface ResolverRuleArgs {
    /**
     * The name server domain for queries to be delegated to if a query matches the delegation record.
     */
    delegationRecord?: pulumi.Input<string>;
    /**
     * DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps
     */
    domainName?: pulumi.Input<string>;
    /**
     * The name for the Resolver rule
     */
    name?: pulumi.Input<string>;
    /**
     * The ID of the endpoint that the rule is associated with.
     */
    resolverEndpointId?: pulumi.Input<string>;
    /**
     * When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD. When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.
     */
    ruleType: pulumi.Input<enums.route53resolver.ResolverRuleRuleType>;
    /**
     * An array of key-value pairs to apply to this resource.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.
     */
    targetIps?: pulumi.Input<pulumi.Input<inputs.route53resolver.ResolverRuleTargetAddressArgs>[]>;
}
