export interface S3DataConfig {
    /** The file path of the Amazon S3 bucket. */
    path: string;
    /** The Amazon Resource Name (ARN) of the Key Management Service (KMS) key that Amazon Personalize uses to encrypt or decrypt the input and output files. */
    kmsKeyArn?: string;
}
export interface BatchInferenceJobInput {
    /** The URI of the Amazon S3 location that contains your input data. The Amazon S3 bucket must be in the same region as the API endpoint you are calling. */
    s3DataSource: S3DataConfig;
}
export interface BatchInferenceJobOutput {
    /** Information on the Amazon S3 bucket in which the batch inference job's output is stored. */
    s3DataDestination: S3DataConfig;
}
export interface BatchInferenceJobConfig {
    /** A string to string map specifying the exploration configuration hyperparameters, including explorationWeight and explorationItemAgeCutOff, you want to use to configure the amount of item exploration A */
    itemExplorationConfig?: Record<string, string>;
    /** A map of ranking influence values for POPULARITY and FRESHNESS. For each key, specify a numerical value between 0.0 and 1.0 that determines how much influence that ranking factor has on the final reco */
    rankingInfluence?: Record<string, number>;
}
export interface Tag {
    /** One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values. */
    tagKey: string;
    /** The optional part of a key-value pair that makes up a tag. A value acts as a descriptor within a tag category (key). */
    tagValue: string;
}
export interface FieldsForThemeGeneration {
    /** The name of the Items dataset column that stores the name of each item in the dataset. */
    itemName: string;
}
export interface ThemeGenerationConfig {
    /** Fields used to generate descriptive themes for a batch inference job. */
    fieldsForThemeGeneration: FieldsForThemeGeneration;
}
export interface BatchSegmentJobInput {
    s3DataSource: S3DataConfig;
}
export interface BatchSegmentJobOutput {
    s3DataDestination: S3DataConfig;
}
export interface CampaignConfig {
    /** Specifies the exploration configuration hyperparameters, including explorationWeight and explorationItemAgeCutOff, you want to use to configure the amount of item exploration Amazon Personalize uses w */
    itemExplorationConfig?: Record<string, string>;
    /** Whether metadata with recommendations is enabled for the campaign. If enabled, you can specify the columns from your Items dataset in your request for recommendations. Amazon Personalize returns this  */
    enableMetadataWithRecommendations?: boolean;
    /** Whether the campaign automatically updates to use the latest solution version (trained model) of a solution. If you specify True, you must specify the ARN of your solution for the SolutionVersionArn p */
    syncWithLatestSolutionVersion?: boolean;
    /** A map of ranking influence values for POPULARITY and FRESHNESS. For each key, specify a numerical value between 0.0 and 1.0 that determines how much influence that ranking factor has on the final reco */
    rankingInfluence?: Record<string, number>;
}
export interface DataSource {
    /** For dataset import jobs, the path to the Amazon S3 bucket where the data that you want to upload to your dataset is stored. For data deletion jobs, the path to the Amazon S3 bucket that stores the lis */
    dataLocation?: string;
}
export interface DatasetExportJobOutput {
    s3DataDestination: S3DataConfig;
}
export interface MetricAttribute {
    /** The metric's event type. */
    eventType: string;
    /** The metric's name. The name helps you identify the metric in Amazon CloudWatch or Amazon S3. */
    metricName: string;
    /** The attribute's expression. Available functions are SUM() or SAMPLECOUNT(). For SUM() functions, provide the dataset type (either Interactions or Items) and column to sum as a parameter. For example S */
    expression: string;
}
export interface MetricAttributionOutput {
    s3DataDestination?: S3DataConfig;
    /** The Amazon Resource Name (ARN) of the IAM service role that has permissions to add data to your output Amazon S3 bucket and add metrics to Amazon CloudWatch. For more information, see Measuring impact */
    roleArn: string;
}
export interface TrainingDataConfig {
    /** Specifies the columns to exclude from training. Each key is a dataset type, and each value is a list of columns. Exclude columns to control what data Amazon Personalize uses to generate recommendation */
    excludedDatasetColumns?: Record<string, any>;
    /** A map that specifies which columns to include from each dataset during training. The map can contain up to 3 entries, where each key is a dataset name (maximum length of 256 characters, must contain o */
    includedDatasetColumns?: Record<string, any>;
}
export interface RecommenderConfig {
    /** Specifies the exploration configuration hyperparameters, including explorationWeight and explorationItemAgeCutOff, you want to use to configure the amount of item exploration Amazon Personalize uses w */
    itemExplorationConfig?: Record<string, string>;
    /** Specifies the requested minimum provisioned recommendation requests per second that Amazon Personalize will support. A high minRecommendationRequestsPerSecond will increase your bill. We recommend sta */
    minRecommendationRequestsPerSecond?: number;
    /** Specifies the training data configuration to use when creating a domain recommender. */
    trainingDataConfig?: TrainingDataConfig;
    /** Whether metadata with recommendations is enabled for the recommender. If enabled, you can specify the columns from your Items dataset in your request for recommendations. Amazon Personalize returns th */
    enableMetadataWithRecommendations?: boolean;
}
export interface HPOConfig {
    /** The metric to optimize during HPO. Amazon Personalize doesn't support configuring the hpoObjective at this time. */
    hpoObjective?: any;
    /** Describes the resource configuration for HPO. */
    hpoResourceConfig?: any;
    /** The hyperparameters and their allowable ranges. */
    algorithmHyperParameterRanges?: any;
}
export interface AutoMLConfig {
    /** The metric to optimize. */
    metricName?: string;
    /** The list of candidate recipes. */
    recipeList?: any[];
}
export interface EventsConfig {
    /** A list of event parameters, which includes event types and their event value thresholds and weights. */
    eventParametersList?: any[];
}
export interface OptimizationObjective {
    /** The numerical metadata column in an Items dataset related to the optimization objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or PRICE (to maximize revenue). */
    itemAttribute?: string;
    /** Specifies how Amazon Personalize balances the importance of your optimization objective versus relevance. */
    objectiveSensitivity?: 'LOW' | 'MEDIUM' | 'HIGH' | 'OFF';
}
export interface AutoTrainingConfig {
    /** Specifies how often to automatically train new solution versions. Specify a rate expression in rate(value unit) format. For value, specify a number between 1 and 30. For unit, specify day or days. For */
    schedulingExpression?: string;
}
export interface SolutionConfig {
    /** Only events with a value greater than or equal to this threshold are used for training a model. */
    eventValueThreshold?: string;
    /** Describes the properties for hyperparameter optimization (HPO). */
    hpoConfig?: HPOConfig;
    /** Lists the algorithm hyperparameters and their values. */
    algorithmHyperParameters?: Record<string, string>;
    /** Lists the feature transformation parameters. */
    featureTransformationParameters?: Record<string, string>;
    /** The AutoMLConfig object containing a list of recipes to search when AutoML is performed. */
    autoMLConfig?: AutoMLConfig;
    /** Describes the configuration of an event, which includes a list of event parameters. You can specify up to 10 event parameters. Events are used in solution creation. */
    eventsConfig?: EventsConfig;
    /** Describes the additional objective for the solution, such as maximizing streaming minutes or increasing revenue. For more information see Optimizing a solution. */
    optimizationObjective?: OptimizationObjective;
    /** Specifies the training data configuration to use when creating a custom solution version (trained model). */
    trainingDataConfig?: TrainingDataConfig;
    /** Specifies the automatic training configuration to use. */
    autoTrainingConfig?: AutoTrainingConfig;
}
export interface SolutionUpdateConfig {
    autoTrainingConfig?: AutoTrainingConfig;
    /** Describes the configuration of an event, which includes a list of event parameters. You can specify up to 10 event parameters. Events are used in solution creation. */
    eventsConfig?: EventsConfig;
}
export interface CreateBatchInferenceJobInput {
    /** The Amazon S3 path that leads to the input file to base your recommendations on. The input material must be in JSON format. */
    jobInput: BatchInferenceJobInput;
    /** The name of the batch inference job to create. */
    jobName: string;
    /** The path to the Amazon S3 bucket where the job's output will be stored. */
    jobOutput: BatchInferenceJobOutput;
    /** The ARN of the Amazon Identity and Access Management role that has permissions to read and write to your input and output Amazon S3 buckets respectively. */
    roleArn: string;
    /** The Amazon Resource Name (ARN) of the solution version that will be used to generate the batch inference recommendations. */
    solutionVersionArn: string;
    /** The configuration details of a batch inference job. */
    batchInferenceJobConfig?: BatchInferenceJobConfig;
    /** The mode of the batch inference job. To generate descriptive themes for groups of similar items, set the job mode to THEME_GENERATION. If you don't want to generate themes, use the default BATCH_INFER */
    batchInferenceJobMode?: 'BATCH_INFERENCE' | 'THEME_GENERATION';
    /** The ARN of the filter to apply to the batch inference job. For more information on using filters, see Filtering batch recommendations. */
    filterArn?: string;
    /** The number of recommendations to retrieve. */
    numResults?: number;
    /** A list of tags to apply to the batch inference job. */
    tags?: Tag[];
    /** For theme generation jobs, specify the name of the column in your Items dataset that contains each item's name. */
    themeGenerationConfig?: ThemeGenerationConfig;
}
export interface CreateBatchSegmentJobInput {
    /** The Amazon S3 path for the input data used to generate the batch segment job. */
    jobInput: BatchSegmentJobInput;
    /** The name of the batch segment job to create. */
    jobName: string;
    /** The Amazon S3 path for the bucket where the job's output will be stored. */
    jobOutput: BatchSegmentJobOutput;
    /** The ARN of the Amazon Identity and Access Management role that has permissions to read and write to your input and output Amazon S3 buckets respectively. */
    roleArn: string;
    /** The Amazon Resource Name (ARN) of the solution version you want the batch segment job to use to generate batch segments. */
    solutionVersionArn: string;
    /** The ARN of the filter to apply to the batch segment job. For more information on using filters, see Filtering batch recommendations. */
    filterArn?: string;
    /** The number of predicted users generated by the batch segment job for each line of input data. The maximum number of users per segment is 5 million. */
    numResults?: number;
    /** A list of tags to apply to the batch segment job. */
    tags?: Tag[];
}
export interface CreateCampaignInput {
    /** A name for the new campaign. The campaign name must be unique within your account. */
    name: string;
    /** The Amazon Resource Name (ARN) of the trained model to deploy with the campaign. To specify the latest solution version of your solution, specify the ARN of your solution in SolutionArn/$LATEST format */
    solutionVersionArn: string;
    /** The configuration details of a campaign. */
    campaignConfig?: CampaignConfig;
    /** Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support. A high minProvisionedTPS will increase your bill. We recommend starting with */
    minProvisionedTPS?: number;
    /** A list of tags to apply to the campaign. */
    tags?: Tag[];
}
export interface CreateDataDeletionJobInput {
    /** The Amazon Resource Name (ARN) of the dataset group that has the datasets you want to delete records from. */
    datasetGroupArn: string;
    /** The Amazon S3 bucket that contains the list of userIds of the users to delete. */
    dataSource: DataSource;
    /** The name for the data deletion job. */
    jobName: string;
    /** The Amazon Resource Name (ARN) of the IAM role that has permissions to read from the Amazon S3 data source. */
    roleArn: string;
    /** A list of tags to apply to the data deletion job. */
    tags?: Tag[];
}
export interface CreateDatasetInput {
    /** The Amazon Resource Name (ARN) of the dataset group to add the dataset to. */
    datasetGroupArn: string;
    /** The type of dataset. One of the following (case insensitive) values: Interactions Items Users Actions Action_Interactions */
    datasetType: string;
    /** The name for the dataset. */
    name: string;
    /** The ARN of the schema to associate with the dataset. The schema defines the dataset fields. */
    schemaArn: string;
    /** A list of tags to apply to the dataset. */
    tags?: Tag[];
}
export interface CreateDatasetExportJobInput {
    /** The Amazon Resource Name (ARN) of the dataset that contains the data to export. */
    datasetArn: string;
    /** The name for the dataset export job. */
    jobName: string;
    /** The path to the Amazon S3 bucket where the job's output is stored. */
    jobOutput: DatasetExportJobOutput;
    /** The Amazon Resource Name (ARN) of the IAM service role that has permissions to add data to your output Amazon S3 bucket. */
    roleArn: string;
    /** The data to export, based on how you imported the data. You can choose to export only BULK data that you imported using a dataset import job, only PUT data that you imported incrementally (using the c */
    ingestionMode?: 'BULK' | 'PUT' | 'ALL';
    /** A list of tags to apply to the dataset export job. */
    tags?: Tag[];
}
export interface CreateDatasetGroupInput {
    /** The name for the new dataset group. */
    name: string;
    /** The domain of the dataset group. Specify a domain to create a Domain dataset group. The domain you specify determines the default schemas for datasets and the use cases available for recommenders. If  */
    domain?: 'ECOMMERCE' | 'VIDEO_ON_DEMAND';
    /** The Amazon Resource Name (ARN) of a Key Management Service (KMS) key used to encrypt the datasets. */
    kmsKeyArn?: string;
    /** The ARN of the Identity and Access Management (IAM) role that has permissions to access the Key Management Service (KMS) key. Supplying an IAM role is only valid when also specifying a KMS key. */
    roleArn?: string;
    /** A list of tags to apply to the dataset group. */
    tags?: Tag[];
}
export interface CreateDatasetImportJobInput {
    /** The ARN of the dataset that receives the imported data. */
    datasetArn: string;
    /** The Amazon S3 bucket that contains the training data to import. */
    dataSource: DataSource;
    /** The name for the dataset import job. */
    jobName: string;
    /** Specify how to add the new records to an existing dataset. The default import mode is FULL. If you haven't imported bulk records into the dataset previously, you can only specify FULL. Specify FULL to */
    importMode?: 'FULL' | 'INCREMENTAL';
    /** If you created a metric attribution, specify whether to publish metrics for this import job to Amazon S3 */
    publishAttributionMetricsToS3?: boolean;
    /** The ARN of the IAM role that has permissions to read from the Amazon S3 data source. */
    roleArn?: string;
    /** A list of tags to apply to the dataset import job. */
    tags?: Tag[];
}
export interface CreateEventTrackerInput {
    /** The Amazon Resource Name (ARN) of the dataset group that receives the event data. */
    datasetGroupArn: string;
    /** The name for the event tracker. */
    name: string;
    /** A list of tags to apply to the event tracker. */
    tags?: Tag[];
}
export interface CreateFilterInput {
    /** The ARN of the dataset group that the filter will belong to. */
    datasetGroupArn: string;
    /** The filter expression defines which items are included or excluded from recommendations. Filter expression must follow specific format rules. For information about filter expression structure and synt */
    filterExpression: string;
    /** The name of the filter to create. */
    name: string;
    /** A list of tags to apply to the filter. */
    tags?: Tag[];
}
export interface CreateMetricAttributionInput {
    /** The Amazon Resource Name (ARN) of the destination dataset group for the metric attribution. */
    datasetGroupArn: string;
    /** A list of metric attributes for the metric attribution. Each metric attribute specifies an event type to track and a function. Available functions are SUM() or SAMPLECOUNT(). For SUM() functions, prov */
    metrics: MetricAttribute[];
    /** The output configuration details for the metric attribution. */
    metricsOutputConfig: MetricAttributionOutput;
    /** A name for the metric attribution. */
    name: string;
}
export interface CreateRecommenderInput {
    /** The Amazon Resource Name (ARN) of the destination domain dataset group for the recommender. */
    datasetGroupArn: string;
    /** The name of the recommender. */
    name: string;
    /** The Amazon Resource Name (ARN) of the recipe that the recommender will use. For a recommender, a recipe is a Domain dataset group use case. Only Domain dataset group use cases can be used to create a  */
    recipeArn: string;
    /** The configuration details of the recommender. */
    recommenderConfig?: RecommenderConfig;
    /** A list of tags to apply to the recommender. */
    tags?: Tag[];
}
export interface CreateSchemaInput {
    /** The name for the schema. */
    name: string;
    /** A schema in Avro JSON format. */
    schema: string;
    /** The domain for the schema. If you are creating a schema for a dataset in a Domain dataset group, specify the domain you chose when you created the Domain dataset group. */
    domain?: 'ECOMMERCE' | 'VIDEO_ON_DEMAND';
}
export interface CreateSolutionInput {
    /** The Amazon Resource Name (ARN) of the dataset group that provides the training data. */
    datasetGroupArn: string;
    /** The name for the solution. */
    name: string;
    /** When your have multiple event types (using an EVENT_TYPE schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model. If you do not provide */
    eventType?: string;
    /** We don't recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see Choosing a recipe. Whether to perform automa */
    performAutoML?: boolean;
    /** Whether the solution uses automatic training to create new solution versions (trained models). The default is True and the solution automatically creates new solution versions every 7 days. You can ch */
    performAutoTraining?: boolean;
    /** Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is false. When performing AutoML, this parameter is always true and you should not set it to false */
    performHPO?: boolean;
    /** Whether to perform incremental training updates on your model. When enabled, this allows the model to learn from new data more frequently without requiring full retraining, which enables near real-tim */
    performIncrementalUpdate?: boolean;
    /** The Amazon Resource Name (ARN) of the recipe to use for model training. This is required when performAutoML is false. For information about different Amazon Personalize recipes and their ARNs, see Cho */
    recipeArn?: string;
    /** The configuration properties for the solution. When performAutoML is set to true, Amazon Personalize only evaluates the autoMLConfig section of the solution configuration. Amazon Personalize doesn't s */
    solutionConfig?: SolutionConfig;
    /** A list of tags to apply to the solution. */
    tags?: Tag[];
}
export interface CreateSolutionVersionInput {
    /** The Amazon Resource Name (ARN) of the solution containing the training configuration information. */
    solutionArn: string;
    /** The name of the solution version. */
    name?: string;
    /** A list of tags to apply to the solution version. */
    tags?: Tag[];
    /** The scope of training to be performed when creating the solution version. The default is FULL. This creates a completely new model based on the entirety of the training data from the datasets in your  */
    trainingMode?: 'FULL' | 'UPDATE' | 'AUTOTRAIN';
}
export interface DeleteCampaignInput {
    /** The Amazon Resource Name (ARN) of the campaign to delete. */
    campaignArn: string;
}
export interface DeleteDatasetInput {
    /** The Amazon Resource Name (ARN) of the dataset to delete. */
    datasetArn: string;
}
export interface DeleteDatasetGroupInput {
    /** The ARN of the dataset group to delete. */
    datasetGroupArn: string;
}
export interface DeleteEventTrackerInput {
    /** The Amazon Resource Name (ARN) of the event tracker to delete. */
    eventTrackerArn: string;
}
export interface DeleteFilterInput {
    /** The ARN of the filter to delete. */
    filterArn: string;
}
export interface DeleteMetricAttributionInput {
    /** The metric attribution's Amazon Resource Name (ARN). */
    metricAttributionArn: string;
}
export interface DeleteRecommenderInput {
    /** The Amazon Resource Name (ARN) of the recommender to delete. */
    recommenderArn: string;
}
export interface DeleteSchemaInput {
    /** The Amazon Resource Name (ARN) of the schema to delete. */
    schemaArn: string;
}
export interface DeleteSolutionInput {
    /** The ARN of the solution to delete. */
    solutionArn: string;
}
export interface DescribeAlgorithmInput {
    /** The Amazon Resource Name (ARN) of the algorithm to describe. */
    algorithmArn: string;
}
export interface DescribeBatchInferenceJobInput {
    /** The ARN of the batch inference job to describe. */
    batchInferenceJobArn: string;
}
export interface DescribeBatchSegmentJobInput {
    /** The ARN of the batch segment job to describe. */
    batchSegmentJobArn: string;
}
export interface DescribeCampaignInput {
    /** The Amazon Resource Name (ARN) of the campaign. */
    campaignArn: string;
}
export interface DescribeDataDeletionJobInput {
    /** The Amazon Resource Name (ARN) of the data deletion job. */
    dataDeletionJobArn: string;
}
export interface DescribeDatasetInput {
    /** The Amazon Resource Name (ARN) of the dataset to describe. */
    datasetArn: string;
}
export interface DescribeDatasetExportJobInput {
    /** The Amazon Resource Name (ARN) of the dataset export job to describe. */
    datasetExportJobArn: string;
}
export interface DescribeDatasetGroupInput {
    /** The Amazon Resource Name (ARN) of the dataset group to describe. */
    datasetGroupArn: string;
}
export interface DescribeDatasetImportJobInput {
    /** The Amazon Resource Name (ARN) of the dataset import job to describe. */
    datasetImportJobArn: string;
}
export interface DescribeEventTrackerInput {
    /** The Amazon Resource Name (ARN) of the event tracker to describe. */
    eventTrackerArn: string;
}
export interface DescribeFeatureTransformationInput {
    /** The Amazon Resource Name (ARN) of the feature transformation to describe. */
    featureTransformationArn: string;
}
export interface DescribeFilterInput {
    /** The ARN of the filter to describe. */
    filterArn: string;
}
export interface DescribeMetricAttributionInput {
    /** The metric attribution's Amazon Resource Name (ARN). */
    metricAttributionArn: string;
}
export interface DescribeRecipeInput {
    /** The Amazon Resource Name (ARN) of the recipe to describe. */
    recipeArn: string;
}
export interface DescribeRecommenderInput {
    /** The Amazon Resource Name (ARN) of the recommender to describe. */
    recommenderArn: string;
}
export interface DescribeSchemaInput {
    /** The Amazon Resource Name (ARN) of the schema to retrieve. */
    schemaArn: string;
}
export interface DescribeSolutionInput {
    /** The Amazon Resource Name (ARN) of the solution to describe. */
    solutionArn: string;
}
export interface DescribeSolutionVersionInput {
    /** The Amazon Resource Name (ARN) of the solution version. */
    solutionVersionArn: string;
}
export interface GetSolutionMetricsInput {
    /** The Amazon Resource Name (ARN) of the solution version for which to get metrics. */
    solutionVersionArn: string;
}
export interface ListBatchInferenceJobsInput {
    /** The maximum number of batch inference job results to return in each page. The default value is 100. */
    maxResults?: number;
    /** The token to request the next page of results. */
    nextToken?: string;
    /** The Amazon Resource Name (ARN) of the solution version from which the batch inference jobs were created. */
    solutionVersionArn?: string;
}
export interface ListBatchSegmentJobsInput {
    /** The maximum number of batch segment job results to return in each page. The default value is 100. */
    maxResults?: number;
    /** The token to request the next page of results. */
    nextToken?: string;
    /** The Amazon Resource Name (ARN) of the solution version that the batch segment jobs used to generate batch segments. */
    solutionVersionArn?: string;
}
export interface ListCampaignsInput {
    /** The maximum number of campaigns to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListCampaigns for getting the next set of campaigns (if they exist). */
    nextToken?: string;
    /** The Amazon Resource Name (ARN) of the solution to list the campaigns for. When a solution is not specified, all the campaigns associated with the account are listed. */
    solutionArn?: string;
}
export interface ListDataDeletionJobsInput {
    /** The Amazon Resource Name (ARN) of the dataset group to list data deletion jobs for. */
    datasetGroupArn?: string;
    /** The maximum number of data deletion jobs to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListDataDeletionJobs for getting the next set of jobs (if they exist). */
    nextToken?: string;
}
export interface ListDatasetExportJobsInput {
    /** The Amazon Resource Name (ARN) of the dataset to list the dataset export jobs for. */
    datasetArn?: string;
    /** The maximum number of dataset export jobs to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListDatasetExportJobs for getting the next set of dataset export jobs (if they exist). */
    nextToken?: string;
}
export interface ListDatasetGroupsInput {
    /** The maximum number of dataset groups to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListDatasetGroups for getting the next set of dataset groups (if they exist). */
    nextToken?: string;
}
export interface ListDatasetImportJobsInput {
    /** The Amazon Resource Name (ARN) of the dataset to list the dataset import jobs for. */
    datasetArn?: string;
    /** The maximum number of dataset import jobs to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListDatasetImportJobs for getting the next set of dataset import jobs (if they exist). */
    nextToken?: string;
}
export interface ListDatasetsInput {
    /** The Amazon Resource Name (ARN) of the dataset group that contains the datasets to list. */
    datasetGroupArn?: string;
    /** The maximum number of datasets to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListDatasets for getting the next set of dataset import jobs (if they exist). */
    nextToken?: string;
}
export interface ListEventTrackersInput {
    /** The ARN of a dataset group used to filter the response. */
    datasetGroupArn?: string;
    /** The maximum number of event trackers to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListEventTrackers for getting the next set of event trackers (if they exist). */
    nextToken?: string;
}
export interface ListFiltersInput {
    /** The ARN of the dataset group that contains the filters. */
    datasetGroupArn?: string;
    /** The maximum number of filters to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListFilters for getting the next set of filters (if they exist). */
    nextToken?: string;
}
export interface ListMetricAttributionMetricsInput {
    /** The maximum number of metrics to return in one page of results. */
    maxResults?: number;
    /** The Amazon Resource Name (ARN) of the metric attribution to retrieve attributes for. */
    metricAttributionArn?: string;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    nextToken?: string;
}
export interface ListMetricAttributionsInput {
    /** The metric attributions' dataset group Amazon Resource Name (ARN). */
    datasetGroupArn?: string;
    /** The maximum number of metric attributions to return in one page of results. */
    maxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    nextToken?: string;
}
export interface ListRecipesInput {
    /** Filters returned recipes by domain for a Domain dataset group. Only recipes (Domain dataset group use cases) for this domain are included in the response. If you don't specify a domain, all recipes ar */
    domain?: 'ECOMMERCE' | 'VIDEO_ON_DEMAND';
    /** The maximum number of recipes to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListRecipes for getting the next set of recipes (if they exist). */
    nextToken?: string;
    /** The default is SERVICE. */
    recipeProvider?: 'SERVICE';
}
export interface ListRecommendersInput {
    /** The Amazon Resource Name (ARN) of the Domain dataset group to list the recommenders for. When a Domain dataset group is not specified, all the recommenders associated with the account are listed. */
    datasetGroupArn?: string;
    /** The maximum number of recommenders to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListRecommenders for getting the next set of recommenders (if they exist). */
    nextToken?: string;
}
export interface ListSchemasInput {
    /** The maximum number of schemas to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListSchemas for getting the next set of schemas (if they exist). */
    nextToken?: string;
}
export interface ListSolutionsInput {
    /** The Amazon Resource Name (ARN) of the dataset group. */
    datasetGroupArn?: string;
    /** The maximum number of solutions to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListSolutions for getting the next set of solutions (if they exist). */
    nextToken?: string;
}
export interface ListSolutionVersionsInput {
    /** The maximum number of solution versions to return. */
    maxResults?: number;
    /** A token returned from the previous call to ListSolutionVersions for getting the next set of solution versions (if they exist). */
    nextToken?: string;
    /** The Amazon Resource Name (ARN) of the solution. */
    solutionArn?: string;
}
export interface ListTagsForResourceInput {
    /** The resource's Amazon Resource Name (ARN). */
    resourceArn: string;
}
export interface StartRecommenderInput {
    /** The Amazon Resource Name (ARN) of the recommender to start. */
    recommenderArn: string;
}
export interface StopRecommenderInput {
    /** The Amazon Resource Name (ARN) of the recommender to stop. */
    recommenderArn: string;
}
export interface StopSolutionVersionCreationInput {
    /** The Amazon Resource Name (ARN) of the solution version you want to stop creating. */
    solutionVersionArn: string;
}
export interface TagResourceInput {
    /** The resource's Amazon Resource Name (ARN). */
    resourceArn: string;
    /** Tags to apply to the resource. For more information see Tagging Amazon Personalize resources. */
    tags: Tag[];
}
export interface UntagResourceInput {
    /** The resource's Amazon Resource Name (ARN). */
    resourceArn: string;
    /** The keys of the tags to be removed. */
    tagKeys: string[];
}
export interface UpdateCampaignInput {
    /** The Amazon Resource Name (ARN) of the campaign. */
    campaignArn: string;
    /** The configuration details of a campaign. */
    campaignConfig?: CampaignConfig;
    /** Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support. A high minProvisionedTPS will increase your bill. We recommend starting with */
    minProvisionedTPS?: number;
    /** The Amazon Resource Name (ARN) of a new model to deploy. To specify the latest solution version of your solution, specify the ARN of your solution in SolutionArn/$LATEST format. You must use this form */
    solutionVersionArn?: string;
}
export interface UpdateDatasetInput {
    /** The Amazon Resource Name (ARN) of the dataset that you want to update. */
    datasetArn: string;
    /** The Amazon Resource Name (ARN) of the new schema you want use. */
    schemaArn: string;
}
export interface UpdateMetricAttributionInput {
    /** Add new metric attributes to the metric attribution. */
    addMetrics?: MetricAttribute[];
    /** The Amazon Resource Name (ARN) for the metric attribution to update. */
    metricAttributionArn?: string;
    /** An output config for the metric attribution. */
    metricsOutputConfig?: MetricAttributionOutput;
    /** Remove metric attributes from the metric attribution. */
    removeMetrics?: string[];
}
export interface UpdateRecommenderInput {
    /** The Amazon Resource Name (ARN) of the recommender to modify. */
    recommenderArn: string;
    /** The configuration details of the recommender. */
    recommenderConfig: RecommenderConfig;
}
export interface UpdateSolutionInput {
    /** The Amazon Resource Name (ARN) of the solution to update. */
    solutionArn: string;
    /** Whether the solution uses automatic training to create new solution versions (trained models). You can change the training frequency by specifying a schedulingExpression in the AutoTrainingConfig as p */
    performAutoTraining?: boolean;
    /** Whether to perform incremental training updates on your model. When enabled, this allows the model to learn from new data more frequently without requiring full retraining, which enables near real-tim */
    performIncrementalUpdate?: boolean;
    /** The new configuration details of the solution. */
    solutionUpdateConfig?: SolutionUpdateConfig;
}
/** Personalize service binding for Step Functions SDK integrations. */
export declare class Personalize {
    constructor();
    createBatchInferenceJob<T>(params: CreateBatchInferenceJobInput): Promise<T>;
    createBatchSegmentJob<T>(params: CreateBatchSegmentJobInput): Promise<T>;
    createCampaign<T>(params: CreateCampaignInput): Promise<T>;
    createDataDeletionJob<T>(params: CreateDataDeletionJobInput): Promise<T>;
    createDataset<T>(params: CreateDatasetInput): Promise<T>;
    createDatasetExportJob<T>(params: CreateDatasetExportJobInput): Promise<T>;
    createDatasetGroup<T>(params: CreateDatasetGroupInput): Promise<T>;
    createDatasetImportJob<T>(params: CreateDatasetImportJobInput): Promise<T>;
    createEventTracker<T>(params: CreateEventTrackerInput): Promise<T>;
    createFilter<T>(params: CreateFilterInput): Promise<T>;
    createMetricAttribution<T>(params: CreateMetricAttributionInput): Promise<T>;
    createRecommender<T>(params: CreateRecommenderInput): Promise<T>;
    createSchema<T>(params: CreateSchemaInput): Promise<T>;
    createSolution<T>(params: CreateSolutionInput): Promise<T>;
    createSolutionVersion<T>(params: CreateSolutionVersionInput): Promise<T>;
    deleteCampaign<T>(params: DeleteCampaignInput): Promise<T>;
    deleteDataset<T>(params: DeleteDatasetInput): Promise<T>;
    deleteDatasetGroup<T>(params: DeleteDatasetGroupInput): Promise<T>;
    deleteEventTracker<T>(params: DeleteEventTrackerInput): Promise<T>;
    deleteFilter<T>(params: DeleteFilterInput): Promise<T>;
    deleteMetricAttribution<T>(params: DeleteMetricAttributionInput): Promise<T>;
    deleteRecommender<T>(params: DeleteRecommenderInput): Promise<T>;
    deleteSchema<T>(params: DeleteSchemaInput): Promise<T>;
    deleteSolution<T>(params: DeleteSolutionInput): Promise<T>;
    describeAlgorithm<T>(params: DescribeAlgorithmInput): Promise<T>;
    describeBatchInferenceJob<T>(params: DescribeBatchInferenceJobInput): Promise<T>;
    describeBatchSegmentJob<T>(params: DescribeBatchSegmentJobInput): Promise<T>;
    describeCampaign<T>(params: DescribeCampaignInput): Promise<T>;
    describeDataDeletionJob<T>(params: DescribeDataDeletionJobInput): Promise<T>;
    describeDataset<T>(params: DescribeDatasetInput): Promise<T>;
    describeDatasetExportJob<T>(params: DescribeDatasetExportJobInput): Promise<T>;
    describeDatasetGroup<T>(params: DescribeDatasetGroupInput): Promise<T>;
    describeDatasetImportJob<T>(params: DescribeDatasetImportJobInput): Promise<T>;
    describeEventTracker<T>(params: DescribeEventTrackerInput): Promise<T>;
    describeFeatureTransformation<T>(params: DescribeFeatureTransformationInput): Promise<T>;
    describeFilter<T>(params: DescribeFilterInput): Promise<T>;
    describeMetricAttribution<T>(params: DescribeMetricAttributionInput): Promise<T>;
    describeRecipe<T>(params: DescribeRecipeInput): Promise<T>;
    describeRecommender<T>(params: DescribeRecommenderInput): Promise<T>;
    describeSchema<T>(params: DescribeSchemaInput): Promise<T>;
    describeSolution<T>(params: DescribeSolutionInput): Promise<T>;
    describeSolutionVersion<T>(params: DescribeSolutionVersionInput): Promise<T>;
    getSolutionMetrics<T>(params: GetSolutionMetricsInput): Promise<T>;
    listBatchInferenceJobs<T>(params: ListBatchInferenceJobsInput): Promise<T>;
    listBatchSegmentJobs<T>(params: ListBatchSegmentJobsInput): Promise<T>;
    listCampaigns<T>(params: ListCampaignsInput): Promise<T>;
    listDataDeletionJobs<T>(params: ListDataDeletionJobsInput): Promise<T>;
    listDatasetExportJobs<T>(params: ListDatasetExportJobsInput): Promise<T>;
    listDatasetGroups<T>(params: ListDatasetGroupsInput): Promise<T>;
    listDatasetImportJobs<T>(params: ListDatasetImportJobsInput): Promise<T>;
    listDatasets<T>(params: ListDatasetsInput): Promise<T>;
    listEventTrackers<T>(params: ListEventTrackersInput): Promise<T>;
    listFilters<T>(params: ListFiltersInput): Promise<T>;
    listMetricAttributionMetrics<T>(params: ListMetricAttributionMetricsInput): Promise<T>;
    listMetricAttributions<T>(params: ListMetricAttributionsInput): Promise<T>;
    listRecipes<T>(params: ListRecipesInput): Promise<T>;
    listRecommenders<T>(params: ListRecommendersInput): Promise<T>;
    listSchemas<T>(params: ListSchemasInput): Promise<T>;
    listSolutions<T>(params: ListSolutionsInput): Promise<T>;
    listSolutionVersions<T>(params: ListSolutionVersionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    startRecommender<T>(params: StartRecommenderInput): Promise<T>;
    stopRecommender<T>(params: StopRecommenderInput): Promise<T>;
    stopSolutionVersionCreation<T>(params: StopSolutionVersionCreationInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateCampaign<T>(params: UpdateCampaignInput): Promise<T>;
    updateDataset<T>(params: UpdateDatasetInput): Promise<T>;
    updateMetricAttribution<T>(params: UpdateMetricAttributionInput): Promise<T>;
    updateRecommender<T>(params: UpdateRecommenderInput): Promise<T>;
    updateSolution<T>(params: UpdateSolutionInput): Promise<T>;
}
//# sourceMappingURL=Personalize.d.ts.map