import { Value } from '../../cloudformation/Value';
import { OfflineStoreConfigProps } from './featuregroup/OfflineStoreConfigProps';
import { FeatureDefinitionProps } from './featuregroup/FeatureDefinitionProps';
import { OnlineStoreConfigProps } from './featuregroup/OnlineStoreConfigProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type FeatureGroupAttributes = {
    FeatureGroupStatus: Attribute<string>;
    CreationTime: Attribute<string>;
};
export type FeatureGroup = AwsResource<'AWS::SageMaker::FeatureGroup', FeatureGroupProperties, FeatureGroupAttributes>;
/**
  Create a new <code>FeatureGroup</code>. A <code>FeatureGroup</code> is a group of <code>Features</code> defined in the <code>FeatureStore</code> to describe a <code>Record</code>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html">the AWS Docs</a>
*/
export declare function featureGroup(featureGroupProps: FeatureGroupProperties): FeatureGroup;
/**
  Create a new <code>FeatureGroup</code>. A <code>FeatureGroup</code> is a group of <code>Features</code> defined in the <code>FeatureStore</code> to describe a <code>Record</code>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html">the AWS Docs</a>
*/
export interface FeatureGroupProperties {
    /** <code>Description</code>  <a name="cfn-sagemaker-featuregroup-description"></a>
  A free form description of a <code>FeatureGroup</code>.<br />
  
  Required: No<br />
  
  Maximum: <code>128</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    description?: Value<string>;
    /** <code>OfflineStoreConfig</code>  <a name="cfn-sagemaker-featuregroup-offlinestoreconfig"></a>
  The configuration of an <code>OfflineStore</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> */
    offlineStoreConfig?: OfflineStoreConfigProps;
    /** <code>FeatureDefinitions</code>  <a name="cfn-sagemaker-featuregroup-featuredefinitions"></a>
  A list of <code>Feature</code>s. Each <code>Feature</code> must include a <code>FeatureName</code> and a <code>FeatureType</code>.<br />
  Valid <code>FeatureType</code>s are <code>Integral</code>, <code>Fractional</code> and <code>String</code>.<br />
  <code>FeatureName</code>s cannot be any of the following: <code>is_deleted</code>, <code>write_time</code>, <code>api_invocation_time</code>.<br />
  You can create up to 2,500 <code>FeatureDefinition</code>s per <code>FeatureGroup</code>.<br />
  
  Required: Yes<br />
  
  Maximum: <code>2500</code><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> */
    featureDefinitions: FeatureDefinitionProps[];
    /** <code>RecordIdentifierFeatureName</code>  <a name="cfn-sagemaker-featuregroup-recordidentifierfeaturename"></a>
  The name of the <code>Feature</code> whose value uniquely identifies a <code>Record</code> defined in the <code>FeatureGroup</code> <code>FeatureDefinitions</code>.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>64</code><br />
  
  Pattern: <code>^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    recordIdentifierFeatureName: Value<string>;
    /** <code>EventTimeFeatureName</code>  <a name="cfn-sagemaker-featuregroup-eventtimefeaturename"></a>
  The name of the feature that stores the <code>EventTime</code> of a Record in a <code>FeatureGroup</code>.<br />
  A <code>EventTime</code> is point in time when a new event occurs that corresponds to the creation or update of a <code>Record</code> in <code>FeatureGroup</code>. All <code>Records</code> in the <code>FeatureGroup</code> must have a corresponding <code>EventTime</code>.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>64</code><br />
  
  Pattern: <code>^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    eventTimeFeatureName: Value<string>;
    /** <code>FeatureGroupName</code>  <a name="cfn-sagemaker-featuregroup-featuregroupname"></a>
  The name of the <code>FeatureGroup</code>.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>64</code><br />
  
  Pattern: <code>^[a-zA-Z0-9]([_-]*[a-zA-Z0-9]){0,63}</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    featureGroupName: Value<string>;
    /** <code>OnlineStoreConfig</code>  <a name="cfn-sagemaker-featuregroup-onlinestoreconfig"></a>
  The configuration of an <code>OnlineStore</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> */
    onlineStoreConfig?: OnlineStoreConfigProps;
    /** <code>RoleArn</code>  <a name="cfn-sagemaker-featuregroup-rolearn"></a>
  The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.<br />
  
  Required: No<br />
  
  Minimum: <code>20</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    roleArn?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-sagemaker-featuregroup-tags"></a>
  Tags used to define a <code>FeatureGroup</code>.<br />
  
  Required: No<br />
  
  Maximum: <code>50</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    tags?: Tag[];
}
