import { GroupVersionProps } from './group/GroupVersionProps';
import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type GroupAttributes = {
    RoleAttachedAt: Attribute<string>;
    LatestVersionArn: Attribute<string>;
    Id: Attribute<string>;
    Arn: Attribute<string>;
    RoleArn: Attribute<string>;
    Name: Attribute<string>;
};
export type Group = AwsResource<'AWS::Greengrass::Group', GroupProperties, GroupAttributes>;
/**
  AWS IoT Greengrass seamlessly extends AWS to edge devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. With AWS IoT Greengrass, connected devices can run AWS Lambda functions, execute predictions based on machine learning models, keep device data in sync, and communicate with other devices securely – even when not connected to the internet. For more information, see the <a href="https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html">AWS IoT Greengrass Version 1 Developer Guide</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html">the AWS Docs</a>
*/
export declare function group(groupProps: GroupProperties): Group;
/**
  AWS IoT Greengrass seamlessly extends AWS to edge devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. With AWS IoT Greengrass, connected devices can run AWS Lambda functions, execute predictions based on machine learning models, keep device data in sync, and communicate with other devices securely – even when not connected to the internet. For more information, see the <a href="https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html">AWS IoT Greengrass Version 1 Developer Guide</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html">the AWS Docs</a>
*/
export interface GroupProperties {
    /** <code>InitialVersion</code>  <a name="cfn-greengrass-group-initialversion"></a>
  The group version to include when the group is created. A group version references the Amazon Resource Name (ARN) of a core definition version, device definition version, subscription definition version, and other version types. The group version must reference a core definition version that contains one core. Other version types are optionally included, depending on your business need.<br />
  To associate a group version after the group is created, create an <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html">https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html</a> resource and specify the ID of this group.
  
  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> */
    initialVersion?: GroupVersionProps;
    /** <code>RoleArn</code>  <a name="cfn-greengrass-group-rolearn"></a>
  The Amazon Resource Name (ARN) of the IAM role attached to the group. This role contains the permissions that Lambda functions and connectors use to interact with other AWS services.<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> */
    roleArn?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-greengrass-group-tags"></a>
  Application-specific metadata to attach to the group. You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see <a href="https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html">Tagging Your AWS IoT Greengrass Resources</a> in the
  AWS IoT Greengrass Version 1 Developer Guide: br />
  This <code>Json</code> property type is processed as a map of key-value pairs. It uses the following format, which is different from most <code>Tags</code> implementations in AWS CloudFormation templates. */
    tags?: Value<any>;
    /** <code>Name</code>  <a name="cfn-greengrass-group-name"></a>
  The name of the 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> */
    name: Value<string>;
}
