import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  Creates a cache subnet group. For more information about cache subnet groups, go to Cache Subnet Groups in the <em>Amazon ElastiCache User Guide</em> or go to <a href="https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html">CreateCacheSubnetGroup</a> in the <em>Amazon ElastiCache API Reference Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html">the AWS Docs</a>
*/
export type SubnetGroup = AwsResource<'AWS::ElastiCache::SubnetGroup', SubnetGroupProperties>;
export declare function subnetGroup(subnetGroupProps: SubnetGroupProperties): SubnetGroup;
/**
  Creates a cache subnet group. For more information about cache subnet groups, go to Cache Subnet Groups in the <em>Amazon ElastiCache User Guide</em> or go to <a href="https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html">CreateCacheSubnetGroup</a> in the <em>Amazon ElastiCache API Reference Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html">the AWS Docs</a>
*/
export interface SubnetGroupProperties {
    /** <code>Description</code>  <a name="cfn-elasticache-subnetgroup-description"></a>
  The description for the cache subnet group.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description: Value<string>;
    /** <code>CacheSubnetGroupName</code>  <a name="cfn-elasticache-subnetgroup-cachesubnetgroupname"></a>
  The name for the cache subnet group. This value is stored as a lowercase string.<br />
  Constraints: Must contain no more than 255 alphanumeric characters or hyphens.<br />
  Example: <code>mysubnetgroup</code><br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    cacheSubnetGroupName?: Value<string>;
    /** <code>SubnetIds</code>  <a name="cfn-elasticache-subnetgroup-subnetids"></a>
  The EC2 subnet IDs for the cache subnet group.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    subnetIds: Value<Value<string>[]>;
    /** <code>Tags</code>  <a name="cfn-elasticache-subnetgroup-tags"></a>
  A tag that can be added to an ElastiCache subnet group. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your subnet groups. A tag with a null Value is permitted.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
}
