import { Value } from '../../cloudformation/Value';
import { SolutionConfigProps } from './solution/SolutionConfigProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type SolutionAttributes = {
    SolutionArn: Attribute<string>;
};
export type Solution = AwsResource<'AWS::Personalize::Solution', SolutionProperties, SolutionAttributes>;
/**
  An object that provides information about a solution. A solution is a trained model that can be deployed as a campaign.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html">the AWS Docs</a>
*/
export declare function solution(solutionProps: SolutionProperties): Solution;
/**
  An object that provides information about a solution. A solution is a trained model that can be deployed as a campaign.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html">the AWS Docs</a>
*/
export interface SolutionProperties {
    /** <code>PerformAutoML</code>  <a name="cfn-personalize-solution-performautoml"></a>
  We don’t recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/determining-use-case.html">Determining your use case.</a>
  When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION recipe from the list specified in the solution configuration (<code>recipeArn</code> must not be specified). When false (the default), Amazon Personalize uses <code>recipeArn</code> for training.<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> */
    performAutoML?: Value<boolean>;
    /** <code>PerformHPO</code>  <a name="cfn-personalize-solution-performhpo"></a>
  Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is <code>false</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> */
    performHPO?: Value<boolean>;
    /** <code>EventType</code>  <a name="cfn-personalize-solution-eventtype"></a>
  The event type (for example, ‘click’ or ‘like’) that is used for training the model. If no <code>eventType</code> is provided, Amazon Personalize uses all interactions for training with equal weight regardless of type.<br />
  
  Required: No<br />
  
  Maximum: <code>256</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> */
    eventType?: Value<string>;
    /** <code>DatasetGroupArn</code>  <a name="cfn-personalize-solution-datasetgrouparn"></a>
  The Amazon Resource Name (ARN) of the dataset group that provides the training data.<br />
  
  Required: Yes<br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>arn:([a-z\d-]+):personalize:.*:.*:.+</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> */
    datasetGroupArn: Value<string>;
    /** <code>SolutionConfig</code>  <a name="cfn-personalize-solution-solutionconfig"></a>
  Describes the configuration properties for the solution.<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> */
    solutionConfig?: SolutionConfigProps;
    /** <code>RecipeArn</code>  <a name="cfn-personalize-solution-recipearn"></a>
  The ARN of the recipe used to create the solution. This is required when <code>performAutoML</code> is false.<br />
  
  Required: No<br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>arn:([a-z\d-]+):personalize:.*:.*:.+</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> */
    recipeArn?: Value<string>;
    /** <code>Name</code>  <a name="cfn-personalize-solution-name"></a>
  The name of the solution.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><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> */
    name: Value<string>;
}
