import { Value } from '../../cloudformation/Value';
import { TaskConfigProps } from './flywheel/TaskConfigProps';
import { DataSecurityConfigProps } from './flywheel/DataSecurityConfigProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type FlywheelAttributes = {
    Arn: Attribute<string>;
};
export type Flywheel = AwsResource<'AWS::Comprehend::Flywheel', FlywheelProperties, FlywheelAttributes>;
/**
  A flywheel is an AWS resource that orchestrates the ongoing training of a model for custom classification or custom entity recognition. You can create a flywheel to start with an existing trained model, or Comprehend can create and train a new model.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html">the AWS Docs</a>
*/
export declare function flywheel(flywheelProps: FlywheelProperties): Flywheel;
/**
  A flywheel is an AWS resource that orchestrates the ongoing training of a model for custom classification or custom entity recognition. You can create a flywheel to start with an existing trained model, or Comprehend can create and train a new model.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html">the AWS Docs</a>
*/
export interface FlywheelProperties {
    /** <code>DataLakeS3Uri</code>  <a name="cfn-comprehend-flywheel-datalakes3uri"></a>
  Amazon S3 URI of the data lake location.<br />
  
  Required: Yes<br />
  
  Maximum: <code>1024</code><br />
  
  Pattern: <code>s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-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> */
    dataLakeS3Uri: Value<string>;
    /** <code>DataAccessRoleArn</code>  <a name="cfn-comprehend-flywheel-dataaccessrolearn"></a>
  The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend permission to access the flywheel data.<br />
  
  Required: Yes<br />
  
  Minimum: <code>20</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+</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> */
    dataAccessRoleArn: Value<string>;
    /** <code>FlywheelName</code>  <a name="cfn-comprehend-flywheel-flywheelname"></a>
  Name for the flywheel.<br />
  
  Required: Yes<br />
  
  Maximum: <code>63</code><br />
  
  Pattern: <code>^[a-zA-Z0-9](-*[a-zA-Z0-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> */
    flywheelName: Value<string>;
    /** <code>ModelType</code>  <a name="cfn-comprehend-flywheel-modeltype"></a>
  Model type of the flywheel’s model.<br />
  
  Required: No<br />
  
  Allowed values: <code>DOCUMENT_CLASSIFIER | ENTITY_RECOGNIZER</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> */
    modelType?: Value<'DOCUMENT_CLASSIFIER' | 'ENTITY_RECOGNIZER'>;
    /** <code>TaskConfig</code>  <a name="cfn-comprehend-flywheel-taskconfig"></a>
  Configuration about the model associated with a flywheel.<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> */
    taskConfig?: TaskConfigProps;
    /** <code>ActiveModelArn</code>  <a name="cfn-comprehend-flywheel-activemodelarn"></a>
  The Amazon Resource Number (ARN) of the active model version.<br />
  
  Required: No<br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:(document-classifier|entity-recognizer)/[a-zA-Z0-9](-*[a-zA-Z0-9])*(/version/[a-zA-Z0-9](-*[a-zA-Z0-9])*)?</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> */
    activeModelArn?: Value<string>;
    /** <code>DataSecurityConfig</code>  <a name="cfn-comprehend-flywheel-datasecurityconfig"></a>
  Data security 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> */
    dataSecurityConfig?: DataSecurityConfigProps;
    /** <code>Tags</code>  <a name="cfn-comprehend-flywheel-tags"></a>
  Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with “Sales” as the key might be added to an endpoint to indicate its use by the sales department.<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[];
}
