import { Value } from '../../cloudformation/Value';
import { TargetGroupConfigProps } from './targetgroup/TargetGroupConfigProps';
import { TargetProps } from './targetgroup/TargetProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type TargetGroupAttributes = {
    Status: Attribute<string>;
    LastUpdatedAt: Attribute<string>;
    CreatedAt: Attribute<string>;
    Id: Attribute<string>;
    Arn: Attribute<string>;
};
export type TargetGroup = AwsResource<'AWS::VpcLattice::TargetGroup', TargetGroupProperties, TargetGroupAttributes>;
/**
  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 full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html">the AWS Docs</a>
*/
export declare function targetGroup(targetGroupProps: TargetGroupProperties): TargetGroup;
/**
  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 full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html">the AWS Docs</a>
*/
export interface TargetGroupProperties {
    /** <code>Type</code>  <a name="cfn-vpclattice-targetgroup-type"></a>
  The type of target 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-replacement">Replacement</a> */
    type: Value<string>;
    /** <code>Config</code>  <a name="cfn-vpclattice-targetgroup-config"></a>
  The target group configuration.<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> */
    config?: TargetGroupConfigProps;
    /** <code>Targets</code>  <a name="cfn-vpclattice-targetgroup-targets"></a>
  Describes a target.<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> */
    targets?: TargetProps[];
    /** <code>Tags</code>  <a name="cfn-vpclattice-targetgroup-tags"></a>
  The tags for the target group.<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[];
    /** <code>Name</code>  <a name="cfn-vpclattice-targetgroup-name"></a>
  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.<br />
  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.<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> */
    name?: Value<string>;
}
