import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { AccessLogSubscriptionReference, AuthPolicyReference, DomainVerificationReference, IAccessLogSubscriptionRef, IAuthPolicyRef, IDomainVerificationRef, IListenerRef, IResourceConfigurationRef, IResourceGatewayRef, IResourcePolicyRef, IRuleRef, IServiceNetworkRef, IServiceNetworkResourceAssociationRef, IServiceNetworkServiceAssociationRef, IServiceNetworkVpcAssociationRef, IServiceRef, ITargetGroupRef, ListenerReference, ResourceConfigurationReference, ResourceGatewayReference, ResourcePolicyReference, RuleReference, ServiceNetworkReference, ServiceNetworkResourceAssociationReference, ServiceNetworkServiceAssociationReference, ServiceNetworkVpcAssociationReference, ServiceReference, TargetGroupReference } from "../../interfaces/generated/aws-vpclattice-interfaces.generated";
import { aws_ec2 as ec2Refs } from "../../interfaces";
/**
 * Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose.
 *
 * The service network owner can use the access logs to audit the services in the network. The service network owner can only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. For more information, see [Access logs](https://docs.aws.amazon.com/vpc-lattice/latest/ug/monitoring-access-logs.html) in the *Amazon VPC Lattice User Guide* .
 *
 * @cloudformationResource AWS::VpcLattice::AccessLogSubscription
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html
 */
export declare class CfnAccessLogSubscription extends cdk.CfnResource implements cdk.IInspectable, IAccessLogSubscriptionRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnAccessLogSubscription from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAccessLogSubscription;
    /**
     * Checks whether the given object is a CfnAccessLogSubscription
     */
    static isCfnAccessLogSubscription(x: any): x is CfnAccessLogSubscription;
    static arnForAccessLogSubscription(resource: IAccessLogSubscriptionRef): string;
    /**
     * The Amazon Resource Name (ARN) of the destination.
     */
    private _destinationArn;
    /**
     * The ID or ARN of the service network or service.
     */
    private _resourceIdentifier?;
    /**
     * Log type of the service network.
     */
    private _serviceNetworkLogType?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags for the access log subscription.
     */
    private _tagsRaw?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::AccessLogSubscription`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnAccessLogSubscriptionProps);
    get accessLogSubscriptionRef(): AccessLogSubscriptionReference;
    /**
     * The Amazon Resource Name (ARN) of the destination.
     */
    get destinationArn(): string;
    /**
     * The Amazon Resource Name (ARN) of the destination.
     */
    set destinationArn(value: string);
    /**
     * The ID or ARN of the service network or service.
     */
    get resourceIdentifier(): string | undefined;
    /**
     * The ID or ARN of the service network or service.
     */
    set resourceIdentifier(value: string | undefined);
    /**
     * Log type of the service network.
     */
    get serviceNetworkLogType(): string | undefined;
    /**
     * Log type of the service network.
     */
    set serviceNetworkLogType(value: string | undefined);
    /**
     * The tags for the access log subscription.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the access log subscription.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the access log subscription.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The ID of the access log subscription.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * The Amazon Resource Name (ARN) of the access log subscription.
     *
     * @cloudformationAttribute ResourceArn
     */
    get attrResourceArn(): string;
    /**
     * The ID of the service network or service.
     *
     * @cloudformationAttribute ResourceId
     */
    get attrResourceId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnAccessLogSubscription`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html
 */
export interface CfnAccessLogSubscriptionProps {
    /**
     * The Amazon Resource Name (ARN) of the destination.
     *
     * The supported destination types are CloudWatch Log groups, Kinesis Data Firehose delivery streams, and Amazon S3 buckets.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html#cfn-vpclattice-accesslogsubscription-destinationarn
     */
    readonly destinationArn: string;
    /**
     * The ID or ARN of the service network or service.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html#cfn-vpclattice-accesslogsubscription-resourceidentifier
     */
    readonly resourceIdentifier?: string;
    /**
     * Log type of the service network.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html#cfn-vpclattice-accesslogsubscription-servicenetworklogtype
     */
    readonly serviceNetworkLogType?: string;
    /**
     * The tags for the access log subscription.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html#cfn-vpclattice-accesslogsubscription-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Creates or updates the auth policy. The policy string in JSON must not contain newlines or blank lines.
 *
 * For more information, see [Auth policies](https://docs.aws.amazon.com/vpc-lattice/latest/ug/auth-policies.html) in the *Amazon VPC Lattice User Guide* .
 *
 * @cloudformationResource AWS::VpcLattice::AuthPolicy
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html
 */
export declare class CfnAuthPolicy extends cdk.CfnResource implements cdk.IInspectable, IAuthPolicyRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnAuthPolicy from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAuthPolicy;
    /**
     * Checks whether the given object is a CfnAuthPolicy
     */
    static isCfnAuthPolicy(x: any): x is CfnAuthPolicy;
    /**
     * The auth policy.
     */
    private _policy;
    /**
     * The ID or ARN of the service network or service for which the policy is created.
     */
    private _resourceIdentifier;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::AuthPolicy`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnAuthPolicyProps);
    get authPolicyRef(): AuthPolicyReference;
    /**
     * The auth policy.
     */
    get policy(): any | cdk.IResolvable;
    /**
     * The auth policy.
     */
    set policy(value: any | cdk.IResolvable);
    /**
     * The ID or ARN of the service network or service for which the policy is created.
     */
    get resourceIdentifier(): string;
    /**
     * The ID or ARN of the service network or service for which the policy is created.
     */
    set resourceIdentifier(value: string);
    /**
     * The state of the auth policy. The auth policy is only active when the auth type is set to `AWS _IAM` . If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the auth type is `NONE` , then any auth policy you provide will remain inactive.
     *
     * @cloudformationAttribute State
     */
    get attrState(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnAuthPolicy`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html
 */
export interface CfnAuthPolicyProps {
    /**
     * The auth policy.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html#cfn-vpclattice-authpolicy-policy
     */
    readonly policy: any | cdk.IResolvable;
    /**
     * The ID or ARN of the service network or service for which the policy is created.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html#cfn-vpclattice-authpolicy-resourceidentifier
     */
    readonly resourceIdentifier: string;
}
/**
 * Creates a listener for a service.
 *
 * Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. For more information, see [Listeners](https://docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html) in the *Amazon VPC Lattice User Guide* .
 *
 * @cloudformationResource AWS::VpcLattice::Listener
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html
 */
export declare class CfnListener extends cdk.CfnResource implements cdk.IInspectable, IListenerRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnListener from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnListener;
    /**
     * Checks whether the given object is a CfnListener
     */
    static isCfnListener(x: any): x is CfnListener;
    static arnForListener(resource: IListenerRef): string;
    /**
     * The action for the default rule.
     */
    private _defaultAction;
    /**
     * The name of the listener.
     */
    private _name?;
    /**
     * The listener port.
     */
    private _port?;
    /**
     * The listener protocol.
     */
    private _protocol;
    /**
     * The ID or ARN of the service.
     */
    private _serviceIdentifier?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags for the listener.
     */
    private _tagsRaw?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::Listener`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnListenerProps);
    get listenerRef(): ListenerReference;
    /**
     * The action for the default rule.
     */
    get defaultAction(): CfnListener.DefaultActionProperty | cdk.IResolvable;
    /**
     * The action for the default rule.
     */
    set defaultAction(value: CfnListener.DefaultActionProperty | cdk.IResolvable);
    /**
     * The name of the listener.
     */
    get name(): string | undefined;
    /**
     * The name of the listener.
     */
    set name(value: string | undefined);
    /**
     * The listener port.
     */
    get port(): number | undefined;
    /**
     * The listener port.
     */
    set port(value: number | undefined);
    /**
     * The listener protocol.
     */
    get protocol(): string;
    /**
     * The listener protocol.
     */
    set protocol(value: string);
    /**
     * The ID or ARN of the service.
     */
    get serviceIdentifier(): string | undefined;
    /**
     * The ID or ARN of the service.
     */
    set serviceIdentifier(value: string | undefined);
    /**
     * The tags for the listener.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the listener.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the listener.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The ID of the listener.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * The Amazon Resource Name (ARN) of the service.
     *
     * @cloudformationAttribute ServiceArn
     */
    get attrServiceArn(): string;
    /**
     * The ID of the service.
     *
     * @cloudformationAttribute ServiceId
     */
    get attrServiceId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnListener {
    /**
     * The action for the default rule.
     *
     * Each listener has a default rule. The default rule is used if no other rules match.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-defaultaction.html
     */
    interface DefaultActionProperty {
        /**
         * Describes an action that returns a custom HTTP response.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-defaultaction.html#cfn-vpclattice-listener-defaultaction-fixedresponse
         */
        readonly fixedResponse?: CfnListener.FixedResponseProperty | cdk.IResolvable;
        /**
         * Describes a forward action.
         *
         * You can use forward actions to route requests to one or more target groups.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-defaultaction.html#cfn-vpclattice-listener-defaultaction-forward
         */
        readonly forward?: CfnListener.ForwardProperty | cdk.IResolvable;
    }
    /**
     * The forward action.
     *
     * Traffic that matches the rule is forwarded to the specified target groups.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-forward.html
     */
    interface ForwardProperty {
        /**
         * The target groups.
         *
         * Traffic matching the rule is forwarded to the specified target groups. With forward actions, you can assign a weight that controls the prioritization and selection of each target group. This means that requests are distributed to individual target groups based on their weights. For example, if two target groups have the same weight, each target group receives half of the traffic.
         *
         * The default value is 1. This means that if only one target group is provided, there is no need to set the weight; 100% of the traffic goes to that target group.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-forward.html#cfn-vpclattice-listener-forward-targetgroups
         */
        readonly targetGroups: Array<cdk.IResolvable | CfnListener.WeightedTargetGroupProperty> | cdk.IResolvable;
    }
    /**
     * Describes the weight of a target group.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-weightedtargetgroup.html
     */
    interface WeightedTargetGroupProperty {
        /**
         * The ID of the target group.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-weightedtargetgroup.html#cfn-vpclattice-listener-weightedtargetgroup-targetgroupidentifier
         */
        readonly targetGroupIdentifier: string;
        /**
         * Only required if you specify multiple target groups for a forward action.
         *
         * The weight determines how requests are distributed to the target group. For example, if you specify two target groups, each with a weight of 10, each target group receives half the requests. If you specify two target groups, one with a weight of 10 and the other with a weight of 20, the target group with a weight of 20 receives twice as many requests as the other target group. If there's only one target group specified, then the default value is 100.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-weightedtargetgroup.html#cfn-vpclattice-listener-weightedtargetgroup-weight
         */
        readonly weight?: number;
    }
    /**
     * Describes an action that returns a custom HTTP response.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-fixedresponse.html
     */
    interface FixedResponseProperty {
        /**
         * The HTTP response code.
         *
         * Only `404` and `500` status codes are supported.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-listener-fixedresponse.html#cfn-vpclattice-listener-fixedresponse-statuscode
         */
        readonly statusCode: number;
    }
}
/**
 * Properties for defining a `CfnListener`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html
 */
export interface CfnListenerProps {
    /**
     * The action for the default rule.
     *
     * Each listener has a default rule. The default rule is used if no other rules match.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html#cfn-vpclattice-listener-defaultaction
     */
    readonly defaultAction: CfnListener.DefaultActionProperty | cdk.IResolvable;
    /**
     * The name of the listener.
     *
     * A listener name must be unique within a service. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.
     *
     * If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html#cfn-vpclattice-listener-name
     */
    readonly name?: string;
    /**
     * The listener port.
     *
     * You can specify a value from 1 to 65535. For HTTP, the default is 80. For HTTPS, the default is 443.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html#cfn-vpclattice-listener-port
     */
    readonly port?: number;
    /**
     * The listener protocol.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html#cfn-vpclattice-listener-protocol
     */
    readonly protocol: string;
    /**
     * The ID or ARN of the service.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html#cfn-vpclattice-listener-serviceidentifier
     */
    readonly serviceIdentifier?: string;
    /**
     * The tags for the listener.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html#cfn-vpclattice-listener-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Retrieves information about the specified resource policy.
 *
 * The resource policy is an IAM policy created on behalf of the resource owner when they share a resource.
 *
 * @cloudformationResource AWS::VpcLattice::ResourcePolicy
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html
 */
export declare class CfnResourcePolicy extends cdk.CfnResource implements cdk.IInspectable, IResourcePolicyRef {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnResourcePolicy from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnResourcePolicy;
    /**
     * Checks whether the given object is a CfnResourcePolicy
     */
    static isCfnResourcePolicy(x: any): x is CfnResourcePolicy;
    /**
     * The Amazon Resource Name (ARN) of the service network or service.
     */
    private _policy;
    /**
     * An IAM policy.
     */
    private _resourceArn;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::ResourcePolicy`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnResourcePolicyProps);
    get resourcePolicyRef(): ResourcePolicyReference;
    /**
     * The Amazon Resource Name (ARN) of the service network or service.
     */
    get policy(): any | cdk.IResolvable;
    /**
     * The Amazon Resource Name (ARN) of the service network or service.
     */
    set policy(value: any | cdk.IResolvable);
    /**
     * An IAM policy.
     */
    get resourceArn(): string;
    /**
     * An IAM policy.
     */
    set resourceArn(value: string);
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnResourcePolicy`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html
 */
export interface CfnResourcePolicyProps {
    /**
     * The Amazon Resource Name (ARN) of the service network or service.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html#cfn-vpclattice-resourcepolicy-policy
     */
    readonly policy: any | cdk.IResolvable;
    /**
     * An IAM policy.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html#cfn-vpclattice-resourcepolicy-resourcearn
     */
    readonly resourceArn: string;
}
/**
 * Creates a listener rule.
 *
 * Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. For more information, see [Listener rules](https://docs.aws.amazon.com/vpc-lattice/latest/ug/listeners.html#listener-rules) in the *Amazon VPC Lattice User Guide* .
 *
 * @cloudformationResource AWS::VpcLattice::Rule
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html
 */
export declare class CfnRule extends cdk.CfnResource implements cdk.IInspectable, IRuleRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnRule from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnRule;
    /**
     * Checks whether the given object is a CfnRule
     */
    static isCfnRule(x: any): x is CfnRule;
    static arnForRule(resource: IRuleRef): string;
    /**
     * Describes the action for a rule.
     */
    private _action;
    /**
     * The ID or ARN of the listener.
     */
    private _listenerIdentifier?;
    /**
     * The rule match.
     */
    private _match;
    /**
     * The name of the rule.
     */
    private _name?;
    /**
     * The priority assigned to the rule.
     */
    private _priority;
    /**
     * The ID or ARN of the service.
     */
    private _serviceIdentifier?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags for the rule.
     */
    private _tagsRaw?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::Rule`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnRuleProps);
    get ruleRef(): RuleReference;
    /**
     * Describes the action for a rule.
     */
    get action(): CfnRule.ActionProperty | cdk.IResolvable;
    /**
     * Describes the action for a rule.
     */
    set action(value: CfnRule.ActionProperty | cdk.IResolvable);
    /**
     * The ID or ARN of the listener.
     */
    get listenerIdentifier(): string | undefined;
    /**
     * The ID or ARN of the listener.
     */
    set listenerIdentifier(value: string | undefined);
    /**
     * The rule match.
     */
    get match(): cdk.IResolvable | CfnRule.MatchProperty;
    /**
     * The rule match.
     */
    set match(value: cdk.IResolvable | CfnRule.MatchProperty);
    /**
     * The name of the rule.
     */
    get name(): string | undefined;
    /**
     * The name of the rule.
     */
    set name(value: string | undefined);
    /**
     * The priority assigned to the rule.
     */
    get priority(): number;
    /**
     * The priority assigned to the rule.
     */
    set priority(value: number);
    /**
     * The ID or ARN of the service.
     */
    get serviceIdentifier(): string | undefined;
    /**
     * The ID or ARN of the service.
     */
    set serviceIdentifier(value: string | undefined);
    /**
     * The tags for the rule.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the rule.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the rule.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The ID of the listener.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnRule {
    /**
     * Describes the action for a rule.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-action.html
     */
    interface ActionProperty {
        /**
         * The fixed response action.
         *
         * The rule returns a custom HTTP response.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-action.html#cfn-vpclattice-rule-action-fixedresponse
         */
        readonly fixedResponse?: CfnRule.FixedResponseProperty | cdk.IResolvable;
        /**
         * The forward action.
         *
         * Traffic that matches the rule is forwarded to the specified target groups.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-action.html#cfn-vpclattice-rule-action-forward
         */
        readonly forward?: CfnRule.ForwardProperty | cdk.IResolvable;
    }
    /**
     * The forward action.
     *
     * Traffic that matches the rule is forwarded to the specified target groups.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-forward.html
     */
    interface ForwardProperty {
        /**
         * The target groups.
         *
         * Traffic matching the rule is forwarded to the specified target groups. With forward actions, you can assign a weight that controls the prioritization and selection of each target group. This means that requests are distributed to individual target groups based on their weights. For example, if two target groups have the same weight, each target group receives half of the traffic.
         *
         * The default value is 1. This means that if only one target group is provided, there is no need to set the weight; 100% of the traffic goes to that target group.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-forward.html#cfn-vpclattice-rule-forward-targetgroups
         */
        readonly targetGroups: Array<cdk.IResolvable | CfnRule.WeightedTargetGroupProperty> | cdk.IResolvable;
    }
    /**
     * Describes the weight of a target group.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-weightedtargetgroup.html
     */
    interface WeightedTargetGroupProperty {
        /**
         * The ID of the target group.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-weightedtargetgroup.html#cfn-vpclattice-rule-weightedtargetgroup-targetgroupidentifier
         */
        readonly targetGroupIdentifier: string;
        /**
         * Only required if you specify multiple target groups for a forward action.
         *
         * The weight determines how requests are distributed to the target group. For example, if you specify two target groups, each with a weight of 10, each target group receives half the requests. If you specify two target groups, one with a weight of 10 and the other with a weight of 20, the target group with a weight of 20 receives twice as many requests as the other target group. If there's only one target group specified, then the default value is 100.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-weightedtargetgroup.html#cfn-vpclattice-rule-weightedtargetgroup-weight
         */
        readonly weight?: number;
    }
    /**
     * Describes an action that returns a custom HTTP response.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-fixedresponse.html
     */
    interface FixedResponseProperty {
        /**
         * The HTTP response code.
         *
         * Only `404` and `500` status codes are supported.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-fixedresponse.html#cfn-vpclattice-rule-fixedresponse-statuscode
         */
        readonly statusCode: number;
    }
    /**
     * Describes a rule match.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-match.html
     */
    interface MatchProperty {
        /**
         * The HTTP criteria that a rule must match.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-match.html#cfn-vpclattice-rule-match-httpmatch
         */
        readonly httpMatch: CfnRule.HttpMatchProperty | cdk.IResolvable;
    }
    /**
     * Describes criteria that can be applied to incoming requests.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-httpmatch.html
     */
    interface HttpMatchProperty {
        /**
         * The header matches.
         *
         * Matches incoming requests with rule based on request header value before applying rule action.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-httpmatch.html#cfn-vpclattice-rule-httpmatch-headermatches
         */
        readonly headerMatches?: Array<CfnRule.HeaderMatchProperty | cdk.IResolvable> | cdk.IResolvable;
        /**
         * The HTTP method type.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-httpmatch.html#cfn-vpclattice-rule-httpmatch-method
         */
        readonly method?: string;
        /**
         * The path match.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-httpmatch.html#cfn-vpclattice-rule-httpmatch-pathmatch
         */
        readonly pathMatch?: cdk.IResolvable | CfnRule.PathMatchProperty;
    }
    /**
     * Describes the constraints for a header match.
     *
     * Matches incoming requests with rule based on request header value before applying rule action.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-headermatch.html
     */
    interface HeaderMatchProperty {
        /**
         * Indicates whether the match is case sensitive.
         *
         * @default - false
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-headermatch.html#cfn-vpclattice-rule-headermatch-casesensitive
         */
        readonly caseSensitive?: boolean | cdk.IResolvable;
        /**
         * The header match type.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-headermatch.html#cfn-vpclattice-rule-headermatch-match
         */
        readonly match: CfnRule.HeaderMatchTypeProperty | cdk.IResolvable;
        /**
         * The name of the header.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-headermatch.html#cfn-vpclattice-rule-headermatch-name
         */
        readonly name: string;
    }
    /**
     * Describes a header match type.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-headermatchtype.html
     */
    interface HeaderMatchTypeProperty {
        /**
         * A contains type match.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-headermatchtype.html#cfn-vpclattice-rule-headermatchtype-contains
         */
        readonly contains?: string;
        /**
         * An exact type match.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-headermatchtype.html#cfn-vpclattice-rule-headermatchtype-exact
         */
        readonly exact?: string;
        /**
         * A prefix type match.
         *
         * Matches the value with the prefix.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-headermatchtype.html#cfn-vpclattice-rule-headermatchtype-prefix
         */
        readonly prefix?: string;
    }
    /**
     * Describes the conditions that can be applied when matching a path for incoming requests.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-pathmatch.html
     */
    interface PathMatchProperty {
        /**
         * Indicates whether the match is case sensitive.
         *
         * @default - false
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-pathmatch.html#cfn-vpclattice-rule-pathmatch-casesensitive
         */
        readonly caseSensitive?: boolean | cdk.IResolvable;
        /**
         * The type of path match.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-pathmatch.html#cfn-vpclattice-rule-pathmatch-match
         */
        readonly match: cdk.IResolvable | CfnRule.PathMatchTypeProperty;
    }
    /**
     * Describes a path match type.
     *
     * Each rule can include only one of the following types of paths.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-pathmatchtype.html
     */
    interface PathMatchTypeProperty {
        /**
         * An exact match of the path.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-pathmatchtype.html#cfn-vpclattice-rule-pathmatchtype-exact
         */
        readonly exact?: string;
        /**
         * A prefix match of the path.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-rule-pathmatchtype.html#cfn-vpclattice-rule-pathmatchtype-prefix
         */
        readonly prefix?: string;
    }
}
/**
 * Properties for defining a `CfnRule`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html
 */
export interface CfnRuleProps {
    /**
     * Describes the action for a rule.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-action
     */
    readonly action: CfnRule.ActionProperty | cdk.IResolvable;
    /**
     * The ID or ARN of the listener.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-listeneridentifier
     */
    readonly listenerIdentifier?: string;
    /**
     * The rule match.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-match
     */
    readonly match: cdk.IResolvable | CfnRule.MatchProperty;
    /**
     * The name of the rule.
     *
     * The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.
     *
     * If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-name
     */
    readonly name?: string;
    /**
     * The priority assigned to the rule.
     *
     * Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-priority
     */
    readonly priority: number;
    /**
     * The ID or ARN of the service.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-serviceidentifier
     */
    readonly serviceIdentifier?: string;
    /**
     * The tags for the rule.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Creates a service.
 *
 * A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC).
 *
 * For more information, see [Services](https://docs.aws.amazon.com/vpc-lattice/latest/ug/services.html) in the *Amazon VPC Lattice User Guide* .
 *
 * @cloudformationResource AWS::VpcLattice::Service
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html
 */
export declare class CfnService extends cdk.CfnResource implements cdk.IInspectable, IServiceRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnService from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnService;
    /**
     * Checks whether the given object is a CfnService
     */
    static isCfnService(x: any): x is CfnService;
    static arnForService(resource: IServiceRef): string;
    /**
     * The type of IAM policy.
     */
    private _authType?;
    /**
     * The Amazon Resource Name (ARN) of the certificate.
     */
    private _certificateArn?;
    /**
     * The custom domain name of the service.
     */
    private _customDomainName?;
    /**
     * Describes the DNS information of the service.
     */
    private _dnsEntry?;
    /**
     * The name of the service.
     */
    private _name?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags for the service.
     */
    private _tagsRaw?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::Service`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnServiceProps);
    get serviceRef(): ServiceReference;
    /**
     * The type of IAM policy.
     */
    get authType(): string | undefined;
    /**
     * The type of IAM policy.
     */
    set authType(value: string | undefined);
    /**
     * The Amazon Resource Name (ARN) of the certificate.
     */
    get certificateArn(): string | undefined;
    /**
     * The Amazon Resource Name (ARN) of the certificate.
     */
    set certificateArn(value: string | undefined);
    /**
     * The custom domain name of the service.
     */
    get customDomainName(): string | undefined;
    /**
     * The custom domain name of the service.
     */
    set customDomainName(value: string | undefined);
    /**
     * Describes the DNS information of the service.
     */
    get dnsEntry(): CfnService.DnsEntryProperty | cdk.IResolvable | undefined;
    /**
     * Describes the DNS information of the service.
     */
    set dnsEntry(value: CfnService.DnsEntryProperty | cdk.IResolvable | undefined);
    /**
     * The name of the service.
     */
    get name(): string | undefined;
    /**
     * The name of the service.
     */
    set name(value: string | undefined);
    /**
     * The tags for the service.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the service.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the service.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The date and time that the service was created, specified in ISO-8601 format.
     *
     * @cloudformationAttribute CreatedAt
     */
    get attrCreatedAt(): string;
    /**
     * The domain name of the service.
     *
     * @cloudformationAttribute DnsEntry.DomainName
     */
    get attrDnsEntryDomainName(): string;
    /**
     * The ID of the hosted zone.
     *
     * @cloudformationAttribute DnsEntry.HostedZoneId
     */
    get attrDnsEntryHostedZoneId(): string;
    /**
     * The ID of the service.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * The date and time that the service was last updated, specified in ISO-8601 format.
     *
     * @cloudformationAttribute LastUpdatedAt
     */
    get attrLastUpdatedAt(): string;
    /**
     * The status of the service.
     *
     * @cloudformationAttribute Status
     */
    get attrStatus(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnService {
    /**
     * Describes the DNS information of a service.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-service-dnsentry.html
     */
    interface DnsEntryProperty {
        /**
         * The domain name of the service.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-service-dnsentry.html#cfn-vpclattice-service-dnsentry-domainname
         */
        readonly domainName?: string;
        /**
         * The ID of the hosted zone.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-service-dnsentry.html#cfn-vpclattice-service-dnsentry-hostedzoneid
         */
        readonly hostedZoneId?: string;
    }
}
/**
 * Properties for defining a `CfnService`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html
 */
export interface CfnServiceProps {
    /**
     * The type of IAM policy.
     *
     * - `NONE` : The resource does not use an IAM policy. This is the default.
     * - `AWS_IAM` : The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.
     *
     * @default - "NONE"
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html#cfn-vpclattice-service-authtype
     */
    readonly authType?: string;
    /**
     * The Amazon Resource Name (ARN) of the certificate.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html#cfn-vpclattice-service-certificatearn
     */
    readonly certificateArn?: string;
    /**
     * The custom domain name of the service.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html#cfn-vpclattice-service-customdomainname
     */
    readonly customDomainName?: string;
    /**
     * Describes the DNS information of the service.
     *
     * This field is read-only.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html#cfn-vpclattice-service-dnsentry
     */
    readonly dnsEntry?: CfnService.DnsEntryProperty | cdk.IResolvable;
    /**
     * The name of the service.
     *
     * The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.
     *
     * If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html#cfn-vpclattice-service-name
     */
    readonly name?: string;
    /**
     * The tags for the service.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html#cfn-vpclattice-service-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Creates a service network.
 *
 * A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network.
 *
 * For more information, see [Service networks](https://docs.aws.amazon.com/vpc-lattice/latest/ug/service-networks.html) in the *Amazon VPC Lattice User Guide* .
 *
 * @cloudformationResource AWS::VpcLattice::ServiceNetwork
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html
 */
export declare class CfnServiceNetwork extends cdk.CfnResource implements cdk.IInspectable, IServiceNetworkRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnServiceNetwork from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnServiceNetwork;
    /**
     * Checks whether the given object is a CfnServiceNetwork
     */
    static isCfnServiceNetwork(x: any): x is CfnServiceNetwork;
    static arnForServiceNetwork(resource: IServiceNetworkRef): string;
    /**
     * The type of IAM policy.
     */
    private _authType?;
    /**
     * The name of the service network.
     */
    private _name?;
    /**
     * Specify if the service network should be enabled for sharing.
     */
    private _sharingConfig?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags for the service network.
     */
    private _tagsRaw?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::ServiceNetwork`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnServiceNetworkProps);
    get serviceNetworkRef(): ServiceNetworkReference;
    /**
     * The type of IAM policy.
     */
    get authType(): string | undefined;
    /**
     * The type of IAM policy.
     */
    set authType(value: string | undefined);
    /**
     * The name of the service network.
     */
    get name(): string | undefined;
    /**
     * The name of the service network.
     */
    set name(value: string | undefined);
    /**
     * Specify if the service network should be enabled for sharing.
     */
    get sharingConfig(): cdk.IResolvable | CfnServiceNetwork.SharingConfigProperty | undefined;
    /**
     * Specify if the service network should be enabled for sharing.
     */
    set sharingConfig(value: cdk.IResolvable | CfnServiceNetwork.SharingConfigProperty | undefined);
    /**
     * The tags for the service network.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the service network.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the service network.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The date and time that the service network was created, specified in ISO-8601 format.
     *
     * @cloudformationAttribute CreatedAt
     */
    get attrCreatedAt(): string;
    /**
     * The ID of the service network.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * The date and time of the last update, specified in ISO-8601 format.
     *
     * @cloudformationAttribute LastUpdatedAt
     */
    get attrLastUpdatedAt(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnServiceNetwork {
    /**
     * Specify if the service network should be enabled for sharing.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetwork-sharingconfig.html
     */
    interface SharingConfigProperty {
        /**
         * Specify if the service network should be enabled for sharing.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetwork-sharingconfig.html#cfn-vpclattice-servicenetwork-sharingconfig-enabled
         */
        readonly enabled: boolean | cdk.IResolvable;
    }
}
/**
 * Properties for defining a `CfnServiceNetwork`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html
 */
export interface CfnServiceNetworkProps {
    /**
     * The type of IAM policy.
     *
     * - `NONE` : The resource does not use an IAM policy. This is the default.
     * - `AWS_IAM` : The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.
     *
     * @default - "NONE"
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html#cfn-vpclattice-servicenetwork-authtype
     */
    readonly authType?: string;
    /**
     * The name of the service network.
     *
     * The name must be unique to the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.
     *
     * If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html#cfn-vpclattice-servicenetwork-name
     */
    readonly name?: string;
    /**
     * Specify if the service network should be enabled for sharing.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html#cfn-vpclattice-servicenetwork-sharingconfig
     */
    readonly sharingConfig?: cdk.IResolvable | CfnServiceNetwork.SharingConfigProperty;
    /**
     * The tags for the service network.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html#cfn-vpclattice-servicenetwork-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Associates the specified service with the specified service network.
 *
 * For more information, see [Manage service associations](https://docs.aws.amazon.com/vpc-lattice/latest/ug/service-network-associations.html#service-network-service-associations) in the *Amazon VPC Lattice User Guide* .
 *
 * You can't use this operation if the service and service network are already associated or if there is a disassociation or deletion in progress. If the association fails, you can retry the operation by deleting the association and recreating it.
 *
 * You cannot associate a service and service network that are shared with a caller. The caller must own either the service or the service network.
 *
 * As a result of this operation, the association is created in the service network account and the association owner account.
 *
 * @cloudformationResource AWS::VpcLattice::ServiceNetworkServiceAssociation
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html
 */
export declare class CfnServiceNetworkServiceAssociation extends cdk.CfnResource implements cdk.IInspectable, IServiceNetworkServiceAssociationRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnServiceNetworkServiceAssociation from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnServiceNetworkServiceAssociation;
    /**
     * Checks whether the given object is a CfnServiceNetworkServiceAssociation
     */
    static isCfnServiceNetworkServiceAssociation(x: any): x is CfnServiceNetworkServiceAssociation;
    static arnForServiceNetworkServiceAssociation(resource: IServiceNetworkServiceAssociationRef): string;
    /**
     * The DNS information of the service.
     */
    private _dnsEntry?;
    /**
     * The ID or ARN of the service.
     */
    private _serviceIdentifier?;
    /**
     * The ID or ARN of the service network.
     */
    private _serviceNetworkIdentifier?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags for the association.
     */
    private _tagsRaw?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::ServiceNetworkServiceAssociation`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnServiceNetworkServiceAssociationProps);
    get serviceNetworkServiceAssociationRef(): ServiceNetworkServiceAssociationReference;
    /**
     * The DNS information of the service.
     */
    get dnsEntry(): CfnServiceNetworkServiceAssociation.DnsEntryProperty | cdk.IResolvable | undefined;
    /**
     * The DNS information of the service.
     */
    set dnsEntry(value: CfnServiceNetworkServiceAssociation.DnsEntryProperty | cdk.IResolvable | undefined);
    /**
     * The ID or ARN of the service.
     */
    get serviceIdentifier(): string | undefined;
    /**
     * The ID or ARN of the service.
     */
    set serviceIdentifier(value: string | undefined);
    /**
     * The ID or ARN of the service network.
     */
    get serviceNetworkIdentifier(): string | undefined;
    /**
     * The ID or ARN of the service network.
     */
    set serviceNetworkIdentifier(value: string | undefined);
    /**
     * The tags for the association.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the association.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the association between the service network and the service.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The date and time that the association was created, specified in ISO-8601 format.
     *
     * @cloudformationAttribute CreatedAt
     */
    get attrCreatedAt(): string;
    /**
     * The domain name of the service.
     *
     * @cloudformationAttribute DnsEntry.DomainName
     */
    get attrDnsEntryDomainName(): string;
    /**
     * The ID of the hosted zone.
     *
     * @cloudformationAttribute DnsEntry.HostedZoneId
     */
    get attrDnsEntryHostedZoneId(): string;
    /**
     * The ID of the of the association between the service network and the service.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * The Amazon Resource Name (ARN) of the service.
     *
     * @cloudformationAttribute ServiceArn
     */
    get attrServiceArn(): string;
    /**
     * The ID of the service.
     *
     * @cloudformationAttribute ServiceId
     */
    get attrServiceId(): string;
    /**
     * The name of the service.
     *
     * @cloudformationAttribute ServiceName
     */
    get attrServiceName(): string;
    /**
     * The Amazon Resource Name (ARN) of the service network
     *
     * @cloudformationAttribute ServiceNetworkArn
     */
    get attrServiceNetworkArn(): string;
    /**
     * The ID of the service network.
     *
     * @cloudformationAttribute ServiceNetworkId
     */
    get attrServiceNetworkId(): string;
    /**
     * The name of the service network.
     *
     * @cloudformationAttribute ServiceNetworkName
     */
    get attrServiceNetworkName(): string;
    /**
     * The status of the association between the service network and the service.
     *
     * @cloudformationAttribute Status
     */
    get attrStatus(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnServiceNetworkServiceAssociation {
    /**
     * The DNS information.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetworkserviceassociation-dnsentry.html
     */
    interface DnsEntryProperty {
        /**
         * The domain name of the service.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetworkserviceassociation-dnsentry.html#cfn-vpclattice-servicenetworkserviceassociation-dnsentry-domainname
         */
        readonly domainName?: string;
        /**
         * The ID of the hosted zone.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetworkserviceassociation-dnsentry.html#cfn-vpclattice-servicenetworkserviceassociation-dnsentry-hostedzoneid
         */
        readonly hostedZoneId?: string;
    }
}
/**
 * Properties for defining a `CfnServiceNetworkServiceAssociation`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html
 */
export interface CfnServiceNetworkServiceAssociationProps {
    /**
     * The DNS information of the service.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html#cfn-vpclattice-servicenetworkserviceassociation-dnsentry
     */
    readonly dnsEntry?: CfnServiceNetworkServiceAssociation.DnsEntryProperty | cdk.IResolvable;
    /**
     * The ID or ARN of the service.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html#cfn-vpclattice-servicenetworkserviceassociation-serviceidentifier
     */
    readonly serviceIdentifier?: string;
    /**
     * The ID or ARN of the service network.
     *
     * You must use an ARN if the resources are in different accounts.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html#cfn-vpclattice-servicenetworkserviceassociation-servicenetworkidentifier
     */
    readonly serviceNetworkIdentifier?: string;
    /**
     * The tags for the association.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html#cfn-vpclattice-servicenetworkserviceassociation-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Associates a VPC with a service network.
 *
 * When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see [Manage VPC associations](https://docs.aws.amazon.com/vpc-lattice/latest/ug/service-network-associations.html#service-network-vpc-associations) in the *Amazon VPC Lattice User Guide* .
 *
 * You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it.
 *
 * As a result of this operation, the association gets created in the service network account and the VPC owner account.
 *
 * If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups.
 *
 * @cloudformationResource AWS::VpcLattice::ServiceNetworkVpcAssociation
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html
 */
export declare class CfnServiceNetworkVpcAssociation extends cdk.CfnResource implements cdk.IInspectable, IServiceNetworkVpcAssociationRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnServiceNetworkVpcAssociation from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnServiceNetworkVpcAssociation;
    /**
     * Checks whether the given object is a CfnServiceNetworkVpcAssociation
     */
    static isCfnServiceNetworkVpcAssociation(x: any): x is CfnServiceNetworkVpcAssociation;
    static arnForServiceNetworkVpcAssociation(resource: IServiceNetworkVpcAssociationRef): string;
    /**
     * The DNS options for the service network VPC association.
     */
    private _dnsOptions?;
    /**
     * Indicates if private DNS is enabled for the service network VPC association.
     */
    private _privateDnsEnabled?;
    /**
     * The IDs of the security groups.
     */
    private _securityGroupIds?;
    /**
     * The ID or ARN of the service network.
     */
    private _serviceNetworkIdentifier?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags for the association.
     */
    private _tagsRaw?;
    /**
     * The ID of the VPC.
     */
    private _vpcIdentifier?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::ServiceNetworkVpcAssociation`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnServiceNetworkVpcAssociationProps);
    get serviceNetworkVpcAssociationRef(): ServiceNetworkVpcAssociationReference;
    /**
     * The DNS options for the service network VPC association.
     */
    get dnsOptions(): CfnServiceNetworkVpcAssociation.DnsOptionsProperty | cdk.IResolvable | undefined;
    /**
     * The DNS options for the service network VPC association.
     */
    set dnsOptions(value: CfnServiceNetworkVpcAssociation.DnsOptionsProperty | cdk.IResolvable | undefined);
    /**
     * Indicates if private DNS is enabled for the service network VPC association.
     */
    get privateDnsEnabled(): boolean | cdk.IResolvable | undefined;
    /**
     * Indicates if private DNS is enabled for the service network VPC association.
     */
    set privateDnsEnabled(value: boolean | cdk.IResolvable | undefined);
    /**
     * The IDs of the security groups.
     */
    get securityGroupIds(): Array<string> | undefined;
    /**
     * The IDs of the security groups.
     */
    set securityGroupIds(value: Array<string> | undefined);
    /**
     * The ID or ARN of the service network.
     */
    get serviceNetworkIdentifier(): string | undefined;
    /**
     * The ID or ARN of the service network.
     */
    set serviceNetworkIdentifier(value: string | undefined);
    /**
     * The tags for the association.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the association.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * The ID of the VPC.
     */
    get vpcIdentifier(): string | undefined;
    /**
     * The ID of the VPC.
     */
    set vpcIdentifier(value: string | undefined);
    /**
     * The Amazon Resource Name (ARN) of the association between the service network and the VPC.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The date and time that the association was created, specified in ISO-8601 format.
     *
     * @cloudformationAttribute CreatedAt
     */
    get attrCreatedAt(): string;
    /**
     * The ID of the specified association between the service network and the VPC.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * The Amazon Resource Name (ARN) of the service network.
     *
     * @cloudformationAttribute ServiceNetworkArn
     */
    get attrServiceNetworkArn(): string;
    /**
     * The ID of the service network.
     *
     * @cloudformationAttribute ServiceNetworkId
     */
    get attrServiceNetworkId(): string;
    /**
     * The name of the service network.
     *
     * @cloudformationAttribute ServiceNetworkName
     */
    get attrServiceNetworkName(): string;
    /**
     * The status of the association.
     *
     * @cloudformationAttribute Status
     */
    get attrStatus(): string;
    /**
     * The ID of the VPC.
     *
     * @cloudformationAttribute VpcId
     */
    get attrVpcId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnServiceNetworkVpcAssociation {
    /**
     * The DNS configuration options.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetworkvpcassociation-dnsoptions.html
     */
    interface DnsOptionsProperty {
        /**
         * The preference for which private domains have a private hosted zone created for and associated with the specified VPC.
         *
         * Only supported when private DNS is enabled and when the VPC endpoint type is ServiceNetwork or Resource.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetworkvpcassociation-dnsoptions.html#cfn-vpclattice-servicenetworkvpcassociation-dnsoptions-privatednspreference
         */
        readonly privateDnsPreference?: string;
        /**
         * Indicates which of the private domains to create private hosted zones for and associate with the specified VPC.
         *
         * Only supported when private DNS is enabled and the private DNS preference is `VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS` or `SPECIFIED_DOMAINS_ONLY` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetworkvpcassociation-dnsoptions.html#cfn-vpclattice-servicenetworkvpcassociation-dnsoptions-privatednsspecifieddomains
         */
        readonly privateDnsSpecifiedDomains?: Array<string>;
    }
}
/**
 * Properties for defining a `CfnServiceNetworkVpcAssociation`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html
 */
export interface CfnServiceNetworkVpcAssociationProps {
    /**
     * The DNS options for the service network VPC association.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html#cfn-vpclattice-servicenetworkvpcassociation-dnsoptions
     */
    readonly dnsOptions?: CfnServiceNetworkVpcAssociation.DnsOptionsProperty | cdk.IResolvable;
    /**
     * Indicates if private DNS is enabled for the service network VPC association.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html#cfn-vpclattice-servicenetworkvpcassociation-privatednsenabled
     */
    readonly privateDnsEnabled?: boolean | cdk.IResolvable;
    /**
     * The IDs of the security groups.
     *
     * Security groups aren't added by default. You can add a security group to apply network level controls to control which resources in a VPC are allowed to access the service network and its services. For more information, see [Control traffic to resources using security groups](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_SecurityGroups.html) in the *Amazon VPC User Guide* .
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html#cfn-vpclattice-servicenetworkvpcassociation-securitygroupids
     */
    readonly securityGroupIds?: Array<string>;
    /**
     * The ID or ARN of the service network.
     *
     * You must use an ARN if the resources are in different accounts.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html#cfn-vpclattice-servicenetworkvpcassociation-servicenetworkidentifier
     */
    readonly serviceNetworkIdentifier?: string;
    /**
     * The tags for the association.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html#cfn-vpclattice-servicenetworkvpcassociation-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
    /**
     * The ID of the VPC.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html#cfn-vpclattice-servicenetworkvpcassociation-vpcidentifier
     */
    readonly vpcIdentifier?: string;
}
/**
 * Creates a target group.
 *
 * A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service.
 *
 * For more information, see [Target groups](https://docs.aws.amazon.com/vpc-lattice/latest/ug/target-groups.html) in the *Amazon VPC Lattice User Guide* .
 *
 * @cloudformationResource AWS::VpcLattice::TargetGroup
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html
 */
export declare class CfnTargetGroup extends cdk.CfnResource implements cdk.IInspectable, ITargetGroupRef, cdk.ITaggable {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnTargetGroup from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnTargetGroup;
    /**
     * Checks whether the given object is a CfnTargetGroup
     */
    static isCfnTargetGroup(x: any): x is CfnTargetGroup;
    static arnForTargetGroup(resource: ITargetGroupRef): string;
    /**
     * The target group configuration.
     */
    private _config?;
    /**
     * The name of the target group.
     */
    private _name?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly tags: cdk.TagManager;
    /**
     * The tags for the target group.
     */
    private _tagsRaw?;
    /**
     * Describes a target.
     */
    private _targets?;
    /**
     * The type of target group.
     */
    private _type;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::TargetGroup`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnTargetGroupProps);
    get targetGroupRef(): TargetGroupReference;
    /**
     * The target group configuration.
     */
    get config(): cdk.IResolvable | CfnTargetGroup.TargetGroupConfigProperty | undefined;
    /**
     * The target group configuration.
     */
    set config(value: cdk.IResolvable | CfnTargetGroup.TargetGroupConfigProperty | undefined);
    /**
     * The name of the target group.
     */
    get name(): string | undefined;
    /**
     * The name of the target group.
     */
    set name(value: string | undefined);
    /**
     * The tags for the target group.
     */
    get tagsRaw(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the target group.
     */
    set tagsRaw(value: Array<cdk.CfnTag> | undefined);
    /**
     * Describes a target.
     */
    get targets(): Array<cdk.IResolvable | CfnTargetGroup.TargetProperty> | cdk.IResolvable | undefined;
    /**
     * Describes a target.
     */
    set targets(value: Array<cdk.IResolvable | CfnTargetGroup.TargetProperty> | cdk.IResolvable | undefined);
    /**
     * The type of target group.
     */
    get type(): string;
    /**
     * The type of target group.
     */
    set type(value: string);
    /**
     * The Amazon Resource Name (ARN) of the target group.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The date and time that the target group was created, specified in ISO-8601 format.
     *
     * @cloudformationAttribute CreatedAt
     */
    get attrCreatedAt(): string;
    /**
     * The ID of the target group.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * The date and time that the target group was last updated, specified in ISO-8601 format.
     *
     * @cloudformationAttribute LastUpdatedAt
     */
    get attrLastUpdatedAt(): string;
    /**
     * The operation's status. You can retry the operation if the status is `CREATE_FAILED` . However, if you retry it while the status is `CREATE_IN_PROGRESS` , there is no change in the status.
     *
     * @cloudformationAttribute Status
     */
    get attrStatus(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnTargetGroup {
    /**
     * Describes the configuration of a target group.
     *
     * For more information, see [Target groups](https://docs.aws.amazon.com/vpc-lattice/latest/ug/target-groups.html) in the *Amazon VPC Lattice User Guide* .
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html
     */
    interface TargetGroupConfigProperty {
        /**
         * The health check configuration.
         *
         * Not supported if the target group type is `LAMBDA` or `ALB` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-healthcheck
         */
        readonly healthCheck?: CfnTargetGroup.HealthCheckConfigProperty | cdk.IResolvable;
        /**
         * The type of IP address used for the target group.
         *
         * Supported only if the target group type is `IP` . The default is `IPV4` .
         *
         * @default - "IPV4"
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-ipaddresstype
         */
        readonly ipAddressType?: string;
        /**
         * The version of the event structure that your Lambda function receives.
         *
         * Supported only if the target group type is `LAMBDA` . The default is `V1` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-lambdaeventstructureversion
         */
        readonly lambdaEventStructureVersion?: string;
        /**
         * The port on which the targets are listening.
         *
         * For HTTP, the default is 80. For HTTPS, the default is 443. Not supported if the target group type is `LAMBDA` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-port
         */
        readonly port?: number;
        /**
         * The protocol to use for routing traffic to the targets.
         *
         * The default is the protocol of the target group. Not supported if the target group type is `LAMBDA` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-protocol
         */
        readonly protocol?: string;
        /**
         * The protocol version.
         *
         * The default is `HTTP1` . Not supported if the target group type is `LAMBDA` .
         *
         * @default - "HTTP1"
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-protocolversion
         */
        readonly protocolVersion?: string;
        /**
         * The ID of the VPC.
         *
         * Not supported if the target group type is `LAMBDA` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-targetgroupconfig.html#cfn-vpclattice-targetgroup-targetgroupconfig-vpcidentifier
         */
        readonly vpcIdentifier?: string;
    }
    /**
     * Describes the health check configuration of a target group.
     *
     * Health check configurations aren't used for target groups of type `LAMBDA` or `ALB` .
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html
     */
    interface HealthCheckConfigProperty {
        /**
         * Indicates whether health checking is enabled.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-enabled
         */
        readonly enabled?: boolean | cdk.IResolvable;
        /**
         * The approximate amount of time, in seconds, between health checks of an individual target.
         *
         * The range is 5–300 seconds. The default is 30 seconds.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-healthcheckintervalseconds
         */
        readonly healthCheckIntervalSeconds?: number;
        /**
         * The amount of time, in seconds, to wait before reporting a target as unhealthy.
         *
         * The range is 1–120 seconds. The default is 5 seconds.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-healthchecktimeoutseconds
         */
        readonly healthCheckTimeoutSeconds?: number;
        /**
         * The number of consecutive successful health checks required before considering an unhealthy target healthy.
         *
         * The range is 2–10. The default is 5.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-healthythresholdcount
         */
        readonly healthyThresholdCount?: number;
        /**
         * The codes to use when checking for a successful response from a target.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-matcher
         */
        readonly matcher?: cdk.IResolvable | CfnTargetGroup.MatcherProperty;
        /**
         * The destination for health checks on the targets.
         *
         * If the protocol version is `HTTP/1.1` or `HTTP/2` , specify a valid URI (for example, `/path?query` ). The default path is `/` . Health checks are not supported if the protocol version is `gRPC` , however, you can choose `HTTP/1.1` or `HTTP/2` and specify a valid URI.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-path
         */
        readonly path?: string;
        /**
         * The port used when performing health checks on targets.
         *
         * The default setting is the port that a target receives traffic on.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-port
         */
        readonly port?: number;
        /**
         * The protocol used when performing health checks on targets.
         *
         * The possible protocols are `HTTP` and `HTTPS` . The default is `HTTP` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-protocol
         */
        readonly protocol?: string;
        /**
         * The protocol version used when performing health checks on targets.
         *
         * The possible protocol versions are `HTTP1` and `HTTP2` .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-protocolversion
         */
        readonly protocolVersion?: string;
        /**
         * The number of consecutive failed health checks required before considering a target unhealthy.
         *
         * The range is 2–10. The default is 2.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-healthcheckconfig.html#cfn-vpclattice-targetgroup-healthcheckconfig-unhealthythresholdcount
         */
        readonly unhealthyThresholdCount?: number;
    }
    /**
     * Describes the codes to use when checking for a successful response from a target for health checks.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-matcher.html
     */
    interface MatcherProperty {
        /**
         * The HTTP code to use when checking for a successful response from a target.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-matcher.html#cfn-vpclattice-targetgroup-matcher-httpcode
         */
        readonly httpCode: string;
    }
    /**
     * Describes a target.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-target.html
     */
    interface TargetProperty {
        /**
         * The ID of the target.
         *
         * If the target group type is `INSTANCE` , this is an instance ID. If the target group type is `IP` , this is an IP address. If the target group type is `LAMBDA` , this is the ARN of a Lambda function. If the target group type is `ALB` , this is the ARN of an Application Load Balancer.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-target.html#cfn-vpclattice-targetgroup-target-id
         */
        readonly id: string;
        /**
         * The port on which the target is listening.
         *
         * For HTTP, the default is 80. For HTTPS, the default is 443.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-targetgroup-target.html#cfn-vpclattice-targetgroup-target-port
         */
        readonly port?: number;
    }
}
/**
 * Properties for defining a `CfnTargetGroup`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html
 */
export interface CfnTargetGroupProps {
    /**
     * The target group configuration.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html#cfn-vpclattice-targetgroup-config
     */
    readonly config?: cdk.IResolvable | CfnTargetGroup.TargetGroupConfigProperty;
    /**
     * The name of the target group.
     *
     * The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.
     *
     * If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html#cfn-vpclattice-targetgroup-name
     */
    readonly name?: string;
    /**
     * The tags for the target group.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html#cfn-vpclattice-targetgroup-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
    /**
     * Describes a target.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html#cfn-vpclattice-targetgroup-targets
     */
    readonly targets?: Array<cdk.IResolvable | CfnTargetGroup.TargetProperty> | cdk.IResolvable;
    /**
     * The type of target group.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html#cfn-vpclattice-targetgroup-type
     */
    readonly type: string;
}
/**
 * A domain name verification is an entity that allows you to prove your ownership of a given domain.
 *
 * When you create a domain verification using CloudFormation, use a waiter to make sure the domain verification is complete before you create a service network resource association, a VPC endpoint, or a service network VPC association with this domain.
 *
 * @cloudformationResource AWS::VpcLattice::DomainVerification
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-domainverification.html
 */
export declare class CfnDomainVerification extends cdk.CfnResource implements cdk.IInspectable, IDomainVerificationRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnDomainVerification from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDomainVerification;
    /**
     * Checks whether the given object is a CfnDomainVerification
     */
    static isCfnDomainVerification(x: any): x is CfnDomainVerification;
    static arnForDomainVerification(resource: IDomainVerificationRef): string;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The domain name being verified.
     */
    private _domainName;
    /**
     * The tags associated with the domain verification.
     */
    private _tags?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::DomainVerification`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnDomainVerificationProps);
    get domainVerificationRef(): DomainVerificationReference;
    /**
     * The domain name being verified.
     */
    get domainName(): string;
    /**
     * The domain name being verified.
     */
    set domainName(value: string);
    /**
     * The tags associated with the domain verification.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags associated with the domain verification.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the domain verification.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The ID of the domain verification.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    /**
     * The current status of the domain verification process.
     *
     * @cloudformationAttribute Status
     */
    get attrStatus(): string;
    /**
     * @cloudformationAttribute TxtMethodConfig
     */
    get attrTxtMethodConfig(): cdk.IResolvable;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnDomainVerification {
    /**
     * Configuration for TXT record-based domain verification method.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-domainverification-txtmethodconfig.html
     */
    interface TxtMethodConfigProperty {
        /**
         * The name of the TXT record that must be created for domain verification.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-domainverification-txtmethodconfig.html#cfn-vpclattice-domainverification-txtmethodconfig-name
         */
        readonly name?: string;
        /**
         * The value that must be added to the TXT record for domain verification.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-domainverification-txtmethodconfig.html#cfn-vpclattice-domainverification-txtmethodconfig-value
         */
        readonly value?: string;
    }
}
/**
 * Properties for defining a `CfnDomainVerification`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-domainverification.html
 */
export interface CfnDomainVerificationProps {
    /**
     * The domain name being verified.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-domainverification.html#cfn-vpclattice-domainverification-domainname
     */
    readonly domainName: string;
    /**
     * The tags associated with the domain verification.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-domainverification.html#cfn-vpclattice-domainverification-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * Creates a resource configuration.
 *
 * A resource configuration defines a specific resource. You can associate a resource configuration with a service network or a VPC endpoint.
 *
 * @cloudformationResource AWS::VpcLattice::ResourceConfiguration
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html
 */
export declare class CfnResourceConfiguration extends cdk.CfnResource implements cdk.IInspectable, IResourceConfigurationRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnResourceConfiguration from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnResourceConfiguration;
    /**
     * Checks whether the given object is a CfnResourceConfiguration
     */
    static isCfnResourceConfiguration(x: any): x is CfnResourceConfiguration;
    static arnForResourceConfiguration(resource: IResourceConfigurationRef): string;
    /**
     * Specifies whether the resource configuration can be associated with a sharable service network.
     */
    private _allowAssociationToSharableServiceNetwork?;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The custom domain name.
     */
    private _customDomainName?;
    /**
     * The domain verification ID.
     */
    private _domainVerificationId?;
    /**
     * (GROUP) The group domain for a group resource configuration.
     */
    private _groupDomain?;
    /**
     * The name of the resource configuration.
     */
    private _name;
    /**
     * (SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535).
     */
    private _portRanges?;
    /**
     * (SINGLE, GROUP) The protocol accepted by the resource configuration.
     */
    private _protocolType?;
    /**
     * The auth type for the resource configuration.
     */
    private _resourceConfigurationAuthType?;
    /**
     * Identifies the resource configuration in one of the following ways:.
     */
    private _resourceConfigurationDefinition?;
    /**
     * The ID of the group resource configuration.
     */
    private _resourceConfigurationGroupId?;
    /**
     * The type of resource configuration. A resource configuration can be one of the following types:.
     */
    private _resourceConfigurationType;
    /**
     * The ID of the resource gateway.
     */
    private _resourceGatewayId?;
    /**
     * The tags for the resource configuration.
     */
    private _tags?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::ResourceConfiguration`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnResourceConfigurationProps);
    get resourceConfigurationRef(): ResourceConfigurationReference;
    /**
     * Specifies whether the resource configuration can be associated with a sharable service network.
     */
    get allowAssociationToSharableServiceNetwork(): boolean | cdk.IResolvable | undefined;
    /**
     * Specifies whether the resource configuration can be associated with a sharable service network.
     */
    set allowAssociationToSharableServiceNetwork(value: boolean | cdk.IResolvable | undefined);
    /**
     * The custom domain name.
     */
    get customDomainName(): string | undefined;
    /**
     * The custom domain name.
     */
    set customDomainName(value: string | undefined);
    /**
     * The domain verification ID.
     */
    get domainVerificationId(): string | undefined;
    /**
     * The domain verification ID.
     */
    set domainVerificationId(value: string | undefined);
    /**
     * (GROUP) The group domain for a group resource configuration.
     */
    get groupDomain(): string | undefined;
    /**
     * (GROUP) The group domain for a group resource configuration.
     */
    set groupDomain(value: string | undefined);
    /**
     * The name of the resource configuration.
     */
    get name(): string;
    /**
     * The name of the resource configuration.
     */
    set name(value: string);
    /**
     * (SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535).
     */
    get portRanges(): Array<string> | undefined;
    /**
     * (SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535).
     */
    set portRanges(value: Array<string> | undefined);
    /**
     * (SINGLE, GROUP) The protocol accepted by the resource configuration.
     */
    get protocolType(): string | undefined;
    /**
     * (SINGLE, GROUP) The protocol accepted by the resource configuration.
     */
    set protocolType(value: string | undefined);
    /**
     * The auth type for the resource configuration.
     */
    get resourceConfigurationAuthType(): string | undefined;
    /**
     * The auth type for the resource configuration.
     */
    set resourceConfigurationAuthType(value: string | undefined);
    /**
     * Identifies the resource configuration in one of the following ways:.
     */
    get resourceConfigurationDefinition(): cdk.IResolvable | CfnResourceConfiguration.ResourceConfigurationDefinitionProperty | undefined;
    /**
     * Identifies the resource configuration in one of the following ways:.
     */
    set resourceConfigurationDefinition(value: cdk.IResolvable | CfnResourceConfiguration.ResourceConfigurationDefinitionProperty | undefined);
    /**
     * The ID of the group resource configuration.
     */
    get resourceConfigurationGroupId(): string | undefined;
    /**
     * The ID of the group resource configuration.
     */
    set resourceConfigurationGroupId(value: string | undefined);
    /**
     * The type of resource configuration. A resource configuration can be one of the following types:.
     */
    get resourceConfigurationType(): string;
    /**
     * The type of resource configuration. A resource configuration can be one of the following types:.
     */
    set resourceConfigurationType(value: string);
    /**
     * The ID of the resource gateway.
     */
    get resourceGatewayId(): string | undefined;
    /**
     * The ID of the resource gateway.
     */
    set resourceGatewayId(value: string | undefined);
    /**
     * The tags for the resource configuration.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the resource configuration.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the resource configuration.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The ID of the resource configuration.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnResourceConfiguration {
    /**
     * Identifies the resource configuration in one of the following ways:.
     *
     * - *Amazon Resource Name (ARN)* - Supported resource-types that are provisioned by AWS services, such as RDS databases, can be identified by their ARN.
     * - *Domain name* - Any domain name that is publicly resolvable.
     * - *IP address* - For IPv4 and IPv6, only IP addresses in the VPC are supported.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-resourceconfiguration-resourceconfigurationdefinition.html
     */
    interface ResourceConfigurationDefinitionProperty {
        /**
         * The Amazon Resource Name (ARN) of the resource configuration.
         *
         * For the ARN syntax and format, see [ARN format](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html#arns-syntax) in the *AWS Identity and Access Management user guide* .
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-resourceconfiguration-resourceconfigurationdefinition.html#cfn-vpclattice-resourceconfiguration-resourceconfigurationdefinition-arnresource
         */
        readonly arnResource?: string;
        /**
         * The DNS name of the resource configuration.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-resourceconfiguration-resourceconfigurationdefinition.html#cfn-vpclattice-resourceconfiguration-resourceconfigurationdefinition-dnsresource
         */
        readonly dnsResource?: CfnResourceConfiguration.DnsResourceProperty | cdk.IResolvable;
        /**
         * The IP address of the resource configuration.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-resourceconfiguration-resourceconfigurationdefinition.html#cfn-vpclattice-resourceconfiguration-resourceconfigurationdefinition-ipresource
         */
        readonly ipResource?: string;
    }
    /**
     * The domain name of the resource configuration.
     *
     * @struct
     * @stability external
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-resourceconfiguration-dnsresource.html
     */
    interface DnsResourceProperty {
        /**
         * The domain name of the resource configuration.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-resourceconfiguration-dnsresource.html#cfn-vpclattice-resourceconfiguration-dnsresource-domainname
         */
        readonly domainName: string;
        /**
         * The IP address type for the resource configuration.
         *
         * Dualstack is not currently supported.
         *
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-resourceconfiguration-dnsresource.html#cfn-vpclattice-resourceconfiguration-dnsresource-ipaddresstype
         */
        readonly ipAddressType: string;
    }
}
/**
 * Properties for defining a `CfnResourceConfiguration`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html
 */
export interface CfnResourceConfigurationProps {
    /**
     * Specifies whether the resource configuration can be associated with a sharable service network.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-allowassociationtosharableservicenetwork
     */
    readonly allowAssociationToSharableServiceNetwork?: boolean | cdk.IResolvable;
    /**
     * The custom domain name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-customdomainname
     */
    readonly customDomainName?: string;
    /**
     * The domain verification ID.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-domainverificationid
     */
    readonly domainVerificationId?: string;
    /**
     * (GROUP) The group domain for a group resource configuration.
     *
     * Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-groupdomain
     */
    readonly groupDomain?: string;
    /**
     * The name of the resource configuration.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-name
     */
    readonly name: string;
    /**
     * (SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535).
     *
     * You can separate port ranges using commas (for example: 1,2,22-30).
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-portranges
     */
    readonly portRanges?: Array<string>;
    /**
     * (SINGLE, GROUP) The protocol accepted by the resource configuration.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-protocoltype
     */
    readonly protocolType?: string;
    /**
     * The auth type for the resource configuration.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-resourceconfigurationauthtype
     */
    readonly resourceConfigurationAuthType?: string;
    /**
     * Identifies the resource configuration in one of the following ways:.
     *
     * - *Amazon Resource Name (ARN)* - Supported resource-types that are provisioned by AWS services, such as RDS databases, can be identified by their ARN.
     * - *Domain name* - Any domain name that is publicly resolvable.
     * - *IP address* - For IPv4 and IPv6, only IP addresses in the VPC are supported.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-resourceconfigurationdefinition
     */
    readonly resourceConfigurationDefinition?: cdk.IResolvable | CfnResourceConfiguration.ResourceConfigurationDefinitionProperty;
    /**
     * The ID of the group resource configuration.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-resourceconfigurationgroupid
     */
    readonly resourceConfigurationGroupId?: string;
    /**
     * The type of resource configuration. A resource configuration can be one of the following types:.
     *
     * - *SINGLE* - A single resource.
     * - *GROUP* - A group of resources. You must create a group resource configuration before you create a child resource configuration.
     * - *CHILD* - A single resource that is part of a group resource configuration.
     * - *ARN* - An AWS resource.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-resourceconfigurationtype
     */
    readonly resourceConfigurationType: string;
    /**
     * The ID of the resource gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-resourcegatewayid
     */
    readonly resourceGatewayId?: string;
    /**
     * The tags for the resource configuration.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html#cfn-vpclattice-resourceconfiguration-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
/**
 * A resource gateway is a point of ingress into the VPC where a resource resides.
 *
 * It spans multiple Availability Zones. For your resource to be accessible from all Availability Zones, you should create your resource gateways to span as many Availability Zones as possible. A VPC can have multiple resource gateways.
 *
 * @cloudformationResource AWS::VpcLattice::ResourceGateway
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html
 */
export declare class CfnResourceGateway extends cdk.CfnResource implements cdk.IInspectable, IResourceGatewayRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnResourceGateway from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnResourceGateway;
    /**
     * Checks whether the given object is a CfnResourceGateway
     */
    static isCfnResourceGateway(x: any): x is CfnResourceGateway;
    static arnForResourceGateway(resource: IResourceGatewayRef): string;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The type of IP address used by the resource gateway.
     */
    private _ipAddressType?;
    /**
     * The number of IPv4 addresses in each ENI for the resource gateway.
     */
    private _ipv4AddressesPerEni?;
    /**
     * The name of the resource gateway.
     */
    private _name;
    /**
     * The IDs of the security groups applied to the resource gateway.
     */
    private _securityGroupIds?;
    /**
     * The IDs of the VPC subnets for the resource gateway.
     */
    private _subnetIds;
    /**
     * The tags for the resource gateway.
     */
    private _tags?;
    /**
     * The ID of the VPC for the resource gateway.
     */
    private _vpcIdentifier;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::ResourceGateway`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnResourceGatewayProps);
    get resourceGatewayRef(): ResourceGatewayReference;
    /**
     * The type of IP address used by the resource gateway.
     */
    get ipAddressType(): string | undefined;
    /**
     * The type of IP address used by the resource gateway.
     */
    set ipAddressType(value: string | undefined);
    /**
     * The number of IPv4 addresses in each ENI for the resource gateway.
     */
    get ipv4AddressesPerEni(): number | undefined;
    /**
     * The number of IPv4 addresses in each ENI for the resource gateway.
     */
    set ipv4AddressesPerEni(value: number | undefined);
    /**
     * The name of the resource gateway.
     */
    get name(): string;
    /**
     * The name of the resource gateway.
     */
    set name(value: string);
    /**
     * The IDs of the security groups applied to the resource gateway.
     */
    get securityGroupIds(): Array<string> | undefined;
    /**
     * The IDs of the security groups applied to the resource gateway.
     */
    set securityGroupIds(value: Array<string> | undefined);
    /**
     * The IDs of the VPC subnets for the resource gateway.
     */
    get subnetIds(): Array<string>;
    /**
     * The IDs of the VPC subnets for the resource gateway.
     */
    set subnetIds(value: Array<string>);
    /**
     * The tags for the resource gateway.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * The tags for the resource gateway.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The ID of the VPC for the resource gateway.
     */
    get vpcIdentifier(): string;
    /**
     * The ID of the VPC for the resource gateway.
     */
    set vpcIdentifier(value: string);
    /**
     * The Amazon Resource Name (ARN) of the resource gateway.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The ID of the resource gateway.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnResourceGateway`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html
 */
export interface CfnResourceGatewayProps {
    /**
     * The type of IP address used by the resource gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html#cfn-vpclattice-resourcegateway-ipaddresstype
     */
    readonly ipAddressType?: string;
    /**
     * The number of IPv4 addresses in each ENI for the resource gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html#cfn-vpclattice-resourcegateway-ipv4addressespereni
     */
    readonly ipv4AddressesPerEni?: number;
    /**
     * The name of the resource gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html#cfn-vpclattice-resourcegateway-name
     */
    readonly name: string;
    /**
     * The IDs of the security groups applied to the resource gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html#cfn-vpclattice-resourcegateway-securitygroupids
     */
    readonly securityGroupIds?: Array<ec2Refs.ISecurityGroupRef | string>;
    /**
     * The IDs of the VPC subnets for the resource gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html#cfn-vpclattice-resourcegateway-subnetids
     */
    readonly subnetIds: Array<ec2Refs.ISubnetRef | string>;
    /**
     * The tags for the resource gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html#cfn-vpclattice-resourcegateway-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
    /**
     * The ID of the VPC for the resource gateway.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html#cfn-vpclattice-resourcegateway-vpcidentifier
     */
    readonly vpcIdentifier: string;
}
/**
 * Associates the specified service network with the specified resource configuration.
 *
 * This allows the resource configuration to receive connections through the service network, including through a service network VPC endpoint.
 *
 * @cloudformationResource AWS::VpcLattice::ServiceNetworkResourceAssociation
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkresourceassociation.html
 */
export declare class CfnServiceNetworkResourceAssociation extends cdk.CfnResource implements cdk.IInspectable, IServiceNetworkResourceAssociationRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnServiceNetworkResourceAssociation from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnServiceNetworkResourceAssociation;
    /**
     * Checks whether the given object is a CfnServiceNetworkResourceAssociation
     */
    static isCfnServiceNetworkResourceAssociation(x: any): x is CfnServiceNetworkResourceAssociation;
    static arnForServiceNetworkResourceAssociation(resource: IServiceNetworkResourceAssociationRef): string;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * Indicates if private DNS is enabled for the service network resource association.
     */
    private _privateDnsEnabled?;
    /**
     * The ID of the resource configuration associated with the service network.
     */
    private _resourceConfigurationId?;
    /**
     * The ID of the service network associated with the resource configuration.
     */
    private _serviceNetworkId?;
    /**
     * A key-value pair to associate with a resource.
     */
    private _tags?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::VpcLattice::ServiceNetworkResourceAssociation`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnServiceNetworkResourceAssociationProps);
    get serviceNetworkResourceAssociationRef(): ServiceNetworkResourceAssociationReference;
    /**
     * Indicates if private DNS is enabled for the service network resource association.
     */
    get privateDnsEnabled(): boolean | cdk.IResolvable | undefined;
    /**
     * Indicates if private DNS is enabled for the service network resource association.
     */
    set privateDnsEnabled(value: boolean | cdk.IResolvable | undefined);
    /**
     * The ID of the resource configuration associated with the service network.
     */
    get resourceConfigurationId(): string | undefined;
    /**
     * The ID of the resource configuration associated with the service network.
     */
    set resourceConfigurationId(value: string | undefined);
    /**
     * The ID of the service network associated with the resource configuration.
     */
    get serviceNetworkId(): string | undefined;
    /**
     * The ID of the service network associated with the resource configuration.
     */
    set serviceNetworkId(value: string | undefined);
    /**
     * A key-value pair to associate with a resource.
     */
    get tags(): Array<cdk.CfnTag> | undefined;
    /**
     * A key-value pair to associate with a resource.
     */
    set tags(value: Array<cdk.CfnTag> | undefined);
    /**
     * The Amazon Resource Name (ARN) of the association.
     *
     * @cloudformationAttribute Arn
     */
    get attrArn(): string;
    /**
     * The ID of the association between the service network and resource configuration.
     *
     * @cloudformationAttribute Id
     */
    get attrId(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnServiceNetworkResourceAssociation`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkresourceassociation.html
 */
export interface CfnServiceNetworkResourceAssociationProps {
    /**
     * Indicates if private DNS is enabled for the service network resource association.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkresourceassociation.html#cfn-vpclattice-servicenetworkresourceassociation-privatednsenabled
     */
    readonly privateDnsEnabled?: boolean | cdk.IResolvable;
    /**
     * The ID of the resource configuration associated with the service network.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkresourceassociation.html#cfn-vpclattice-servicenetworkresourceassociation-resourceconfigurationid
     */
    readonly resourceConfigurationId?: string;
    /**
     * The ID of the service network associated with the resource configuration.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkresourceassociation.html#cfn-vpclattice-servicenetworkresourceassociation-servicenetworkid
     */
    readonly serviceNetworkId?: string;
    /**
     * A key-value pair to associate with a resource.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkresourceassociation.html#cfn-vpclattice-servicenetworkresourceassociation-tags
     */
    readonly tags?: Array<cdk.CfnTag>;
}
export type { IAccessLogSubscriptionRef, AccessLogSubscriptionReference };
export type { IAuthPolicyRef, AuthPolicyReference };
export type { IListenerRef, ListenerReference };
export type { IResourcePolicyRef, ResourcePolicyReference };
export type { IRuleRef, RuleReference };
export type { IServiceRef, ServiceReference };
export type { IServiceNetworkRef, ServiceNetworkReference };
export type { IServiceNetworkServiceAssociationRef, ServiceNetworkServiceAssociationReference };
export type { IServiceNetworkVpcAssociationRef, ServiceNetworkVpcAssociationReference };
export type { ITargetGroupRef, TargetGroupReference };
export type { IDomainVerificationRef, DomainVerificationReference };
export type { IResourceConfigurationRef, ResourceConfigurationReference };
export type { IResourceGatewayRef, ResourceGatewayReference };
export type { IServiceNetworkResourceAssociationRef, ServiceNetworkResourceAssociationReference };
