import { Value } from '../../cloudformation/Value';
import { DocumentClassifierOutputDataConfigProps } from './documentclassifier/DocumentClassifierOutputDataConfigProps';
import { VpcConfigProps } from './documentclassifier/VpcConfigProps';
import { DocumentClassifierInputDataConfigProps } from './documentclassifier/DocumentClassifierInputDataConfigProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type DocumentClassifierAttributes = {
    Arn: Attribute<string>;
};
export type DocumentClassifier = AwsResource<'AWS::Comprehend::DocumentClassifier', DocumentClassifierProperties, DocumentClassifierAttributes>;
/**
  This resource creates and trains a document classifier to categorize documents. You provide a set of training documents that are labeled with the categories that you want to identify. After the classifier is trained you can use it to categorize a set of labeled documents into the categories. For more information, see <a href="https://docs.aws.amazon.com/comprehend/latest/dg/how-document-classification.html">Document Classification</a> in the Comprehend Developer Guide.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html">the AWS Docs</a>
*/
export declare function documentClassifier(documentClassifierProps: DocumentClassifierProperties): DocumentClassifier;
/**
  This resource creates and trains a document classifier to categorize documents. You provide a set of training documents that are labeled with the categories that you want to identify. After the classifier is trained you can use it to categorize a set of labeled documents into the categories. For more information, see <a href="https://docs.aws.amazon.com/comprehend/latest/dg/how-document-classification.html">Document Classification</a> in the Comprehend Developer Guide.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html">the AWS Docs</a>
*/
export interface DocumentClassifierProperties {
    /** <code>LanguageCode</code>  <a name="cfn-comprehend-documentclassifier-languagecode"></a>
  The language of the input documents. You can specify any of the languages supported by Amazon Comprehend. All documents must be in the same language.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>de | en | es | fr | it | pt</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> */
    languageCode: Value<'de' | 'en' | 'es' | 'fr' | 'it' | 'pt'>;
    /** <code>DataAccessRoleArn</code>  <a name="cfn-comprehend-documentclassifier-dataaccessrolearn"></a>
  The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read access to your input 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-replacement">Replacement</a> */
    dataAccessRoleArn: Value<string>;
    /** <code>OutputDataConfig</code>  <a name="cfn-comprehend-documentclassifier-outputdataconfig"></a>
  Provides output results configuration parameters for custom classifier jobs.<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> */
    outputDataConfig?: DocumentClassifierOutputDataConfigProps;
    /** <code>VpcConfig</code>  <a name="cfn-comprehend-documentclassifier-vpcconfig"></a>
  Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html">Amazon VPC</a>.<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> */
    vpcConfig?: VpcConfigProps;
    /** <code>DocumentClassifierName</code>  <a name="cfn-comprehend-documentclassifier-documentclassifiername"></a>
  The name of the document classifier.<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> */
    documentClassifierName: Value<string>;
    /** <code>Mode</code>  <a name="cfn-comprehend-documentclassifier-mode"></a>
  Indicates the mode in which the classifier will be trained. The classifier can be trained in multi-class mode, which identifies one and only one class for each document, or multi-label mode, which identifies one or more labels for each document. In multi-label mode, multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).<br />
  
  Required: No<br />
  
  Allowed values: <code>MULTI_CLASS | MULTI_LABEL</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> */
    mode?: Value<'MULTI_CLASS' | 'MULTI_LABEL'>;
    /** <p> */
    volumeKmsKeyId?: Value<string>;
    /** <p> */
    modelKmsKeyId?: Value<string>;
    /** <code>VersionName</code>  <a name="cfn-comprehend-documentclassifier-versionname"></a>
  The version name given to the newly created classifier. Version names can have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The version name must be unique among all models with the same classifier name in the AWS account/AWS Region.<br />
  
  Required: No<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> */
    versionName?: Value<string>;
    /** <code>ModelPolicy</code>  <a name="cfn-comprehend-documentclassifier-modelpolicy"></a>
  The resource-based policy to attach to your custom document classifier model. You can use this policy to allow another AWS account to import your custom model.<br />
  Provide your policy as a JSON body that you enter as a UTF-8 encoded string without line breaks. To provide valid JSON, enclose the attribute names and values in double quotes. If the JSON body is also enclosed in double quotes, then you must escape the double quotes that are inside the policy:<br />
  <code>&quot;{\&quot;attribute\&quot;: \&quot;value\&quot;, \&quot;attribute\&quot;: [\&quot;value\&quot;]}&quot;</code><br />
  To avoid escaping quotes, you can use single quotes to enclose the policy and double quotes to enclose the JSON names and values:<br />
  <code>'{&quot;attribute&quot;: &quot;value&quot;, &quot;attribute&quot;: [&quot;value&quot;]}'</code><br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>20000</code><br />
  
  Pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]+</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> */
    modelPolicy?: Value<string>;
    /** <code>InputDataConfig</code>  <a name="cfn-comprehend-documentclassifier-inputdataconfig"></a>
  Specifies the format and location of the input data for the job.<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> */
    inputDataConfig: DocumentClassifierInputDataConfigProps;
    /** <code>Tags</code>  <a name="cfn-comprehend-documentclassifier-tags"></a>
  Tags to associate with the document classifier. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with “Sales” as the key might be added to a resource 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[];
}
