export interface Tag {
    /** A unique identifier for the tag. Valid characters include Unicode letters, digits, white space, _, ., /, =, +, -, %, and @. */
    Key?: string;
    /** An optional string, typically used to describe or define the tag. Valid characters include Unicode letters, digits, white space, _, ., /, =, +, -, %, and @. */
    Value?: string;
}
export interface RDSDatabase {
    /** The ID of an RDS DB instance. */
    InstanceIdentifier: string;
    DatabaseName: string;
}
export interface RDSDatabaseCredentials {
    Username: string;
    Password: string;
}
export interface RDSDataSpec {
    /** Describes the DatabaseName and InstanceIdentifier of an Amazon RDS database. */
    DatabaseInformation: RDSDatabase;
    /** The query that is used to retrieve the observation data for the DataSource. */
    SelectSqlQuery: string;
    /** The AWS Identity and Access Management (IAM) credentials that are used connect to the Amazon RDS database. */
    DatabaseCredentials: RDSDatabaseCredentials;
    /** The Amazon S3 location for staging Amazon RDS data. The data retrieved from Amazon RDS using SelectSqlQuery is stored in this location. */
    S3StagingLocation: string;
    /** A JSON string that represents the splitting and rearrangement processing to be applied to a DataSource. If the DataRearrangement parameter is not provided, all of the input data is used to create the  */
    DataRearrangement?: string;
    /** A JSON string that represents the schema for an Amazon RDS DataSource. The DataSchema defines the structure of the observation data in the data file(s) referenced in the DataSource. A DataSchema is no */
    DataSchema?: string;
    /** The Amazon S3 location of the DataSchema. */
    DataSchemaUri?: string;
    /** The role (DataPipelineDefaultResourceRole) assumed by an Amazon Elastic Compute Cloud (Amazon EC2) instance to carry out the copy operation from Amazon RDS to an Amazon S3 task. For more information,  */
    ResourceRole: string;
    /** The role (DataPipelineDefaultRole) assumed by AWS Data Pipeline service to monitor the progress of the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelin */
    ServiceRole: string;
    /** The subnet ID to be used to access a VPC-based RDS DB instance. This attribute is used by Data Pipeline to carry out the copy task from Amazon RDS to Amazon S3. */
    SubnetId: string;
    /** The security group IDs to be used to access a VPC-based RDS DB instance. Ensure that there are appropriate ingress rules set up to allow access to the RDS DB instance. This attribute is used by Data P */
    SecurityGroupIds: string[];
}
export interface RedshiftDatabase {
    DatabaseName: string;
    ClusterIdentifier: string;
}
export interface RedshiftDatabaseCredentials {
    Username: string;
    Password: string;
}
export interface RedshiftDataSpec {
    /** Describes the DatabaseName and ClusterIdentifier for an Amazon Redshift DataSource. */
    DatabaseInformation: RedshiftDatabase;
    /** Describes the SQL Query to execute on an Amazon Redshift database for an Amazon Redshift DataSource. */
    SelectSqlQuery: string;
    /** Describes AWS Identity and Access Management (IAM) credentials that are used connect to the Amazon Redshift database. */
    DatabaseCredentials: RedshiftDatabaseCredentials;
    /** Describes an Amazon S3 location to store the result set of the SelectSqlQuery query. */
    S3StagingLocation: string;
    /** A JSON string that represents the splitting and rearrangement processing to be applied to a DataSource. If the DataRearrangement parameter is not provided, all of the input data is used to create the  */
    DataRearrangement?: string;
    /** A JSON string that represents the schema for an Amazon Redshift DataSource. The DataSchema defines the structure of the observation data in the data file(s) referenced in the DataSource. A DataSchema  */
    DataSchema?: string;
    /** Describes the schema location for an Amazon Redshift DataSource. */
    DataSchemaUri?: string;
}
export interface S3DataSpec {
    /** The location of the data file(s) used by a DataSource. The URI specifies a data file or an Amazon Simple Storage Service (Amazon S3) directory or bucket containing data files. */
    DataLocationS3: string;
    /** A JSON string that represents the splitting and rearrangement processing to be applied to a DataSource. If the DataRearrangement parameter is not provided, all of the input data is used to create the  */
    DataRearrangement?: string;
    /** A JSON string that represents the schema for an Amazon S3 DataSource. The DataSchema defines the structure of the observation data in the data file(s) referenced in the DataSource. You must provide ei */
    DataSchema?: string;
    /** Describes the schema location in Amazon S3. You must provide either the DataSchema or the DataSchemaLocationS3. */
    DataSchemaLocationS3?: string;
}
export interface AddTagsInput {
    /** The ID of the ML object to tag. For example, exampleModelId. */
    ResourceId: string;
    /** The type of the ML object to tag. */
    ResourceType: 'BatchPrediction' | 'DataSource' | 'Evaluation' | 'MLModel';
    /** The key-value pairs to use to create tags. If you specify a key without specifying a value, Amazon ML creates a tag with the specified key and a value of null. */
    Tags: Tag[];
}
export interface CreateBatchPredictionInput {
    /** The ID of the DataSource that points to the group of observations to predict. */
    BatchPredictionDataSourceId: string;
    /** A user-supplied ID that uniquely identifies the BatchPrediction. */
    BatchPredictionId: string;
    /** The ID of the MLModel that will generate predictions for the group of observations. */
    MLModelId: string;
    /** The location of an Amazon Simple Storage Service (Amazon S3) bucket or directory to store the batch prediction results. The following substrings are not allowed in the s3 key portion of the outputURI  */
    OutputUri: string;
    /** A user-supplied name or description of the BatchPrediction. BatchPredictionName can only use the UTF-8 character set. */
    BatchPredictionName?: string;
}
export interface CreateDataSourceFromRDSInput {
    /** A user-supplied ID that uniquely identifies the DataSource. Typically, an Amazon Resource Number (ARN) becomes the ID for a DataSource. */
    DataSourceId: string;
    /** The data specification of an Amazon RDS DataSource: DatabaseInformation - DatabaseName - The name of the Amazon RDS database. InstanceIdentifier - A unique identifier for the Amazon RDS database insta */
    RDSData: RDSDataSpec;
    /** The role that Amazon ML assumes on behalf of the user to create and activate a data pipeline in the user's account and copy data using the SelectSqlQuery query from Amazon RDS to Amazon S3. */
    RoleARN: string;
    /** The compute statistics for a DataSource. The statistics are generated from the observation data referenced by a DataSource. Amazon ML uses the statistics internally during MLModel training. This param */
    ComputeStatistics?: boolean;
    /** A user-supplied name or description of the DataSource. */
    DataSourceName?: string;
}
export interface CreateDataSourceFromRedshiftInput {
    /** A user-supplied ID that uniquely identifies the DataSource. */
    DataSourceId: string;
    /** The data specification of an Amazon Redshift DataSource: DatabaseInformation - DatabaseName - The name of the Amazon Redshift database. ClusterIdentifier - The unique ID for the Amazon Redshift cluste */
    DataSpec: RedshiftDataSpec;
    /** A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role on behalf of the user to create the following: A security group to allow Amazon ML to execute the SelectSqlQuery query on  */
    RoleARN: string;
    /** The compute statistics for a DataSource. The statistics are generated from the observation data referenced by a DataSource. Amazon ML uses the statistics internally during MLModel training. This param */
    ComputeStatistics?: boolean;
    /** A user-supplied name or description of the DataSource. */
    DataSourceName?: string;
}
export interface CreateDataSourceFromS3Input {
    /** A user-supplied identifier that uniquely identifies the DataSource. */
    DataSourceId: string;
    /** The data specification of a DataSource: DataLocationS3 - The Amazon S3 location of the observation data. DataSchemaLocationS3 - The Amazon S3 location of the DataSchema. DataSchema - A JSON string rep */
    DataSpec: S3DataSpec;
    /** The compute statistics for a DataSource. The statistics are generated from the observation data referenced by a DataSource. Amazon ML uses the statistics internally during MLModel training. This param */
    ComputeStatistics?: boolean;
    /** A user-supplied name or description of the DataSource. */
    DataSourceName?: string;
}
export interface CreateEvaluationInput {
    /** The ID of the DataSource for the evaluation. The schema of the DataSource must match the schema used to create the MLModel. */
    EvaluationDataSourceId: string;
    /** A user-supplied ID that uniquely identifies the Evaluation. */
    EvaluationId: string;
    /** The ID of the MLModel to evaluate. The schema used in creating the MLModel must match the schema of the DataSource used in the Evaluation. */
    MLModelId: string;
    /** A user-supplied name or description of the Evaluation. */
    EvaluationName?: string;
}
export interface CreateMLModelInput {
    /** A user-supplied ID that uniquely identifies the MLModel. */
    MLModelId: string;
    /** The category of supervised learning that this MLModel will address. Choose from the following types: Choose REGRESSION if the MLModel will be used to predict a numeric value. Choose BINARY if the MLMo */
    MLModelType: 'REGRESSION' | 'BINARY' | 'MULTICLASS';
    /** The DataSource that points to the training data. */
    TrainingDataSourceId: string;
    /** A user-supplied name or description of the MLModel. */
    MLModelName?: string;
    /** A list of the training parameters in the MLModel. The list is implemented as a map of key-value pairs. The following is the current set of training parameters: sgd.maxMLModelSizeInBytes - The maximum  */
    Parameters?: Record<string, string>;
    /** The data recipe for creating the MLModel. You must specify either the recipe or its URI. If you don't specify a recipe or its URI, Amazon ML creates a default. */
    Recipe?: string;
    /** The Amazon Simple Storage Service (Amazon S3) location and file name that contains the MLModel recipe. You must specify either the recipe or its URI. If you don't specify a recipe or its URI, Amazon M */
    RecipeUri?: string;
}
export interface CreateRealtimeEndpointInput {
    /** The ID assigned to the MLModel during creation. */
    MLModelId: string;
}
export interface DeleteBatchPredictionInput {
    /** A user-supplied ID that uniquely identifies the BatchPrediction. */
    BatchPredictionId: string;
}
export interface DeleteDataSourceInput {
    /** A user-supplied ID that uniquely identifies the DataSource. */
    DataSourceId: string;
}
export interface DeleteEvaluationInput {
    /** A user-supplied ID that uniquely identifies the Evaluation to delete. */
    EvaluationId: string;
}
export interface DeleteMLModelInput {
    /** A user-supplied ID that uniquely identifies the MLModel. */
    MLModelId: string;
}
export interface DeleteRealtimeEndpointInput {
    /** The ID assigned to the MLModel during creation. */
    MLModelId: string;
}
export interface DeleteTagsInput {
    /** The ID of the tagged ML object. For example, exampleModelId. */
    ResourceId: string;
    /** The type of the tagged ML object. */
    ResourceType: 'BatchPrediction' | 'DataSource' | 'Evaluation' | 'MLModel';
    /** One or more tags to delete. */
    TagKeys: string[];
}
export interface DescribeBatchPredictionsInput {
    /** The equal to operator. The BatchPrediction results will have FilterVariable values that exactly match the value specified with EQ. */
    EQ?: string;
    /** Use one of the following variables to filter a list of BatchPrediction: CreatedAt - Sets the search criteria to the BatchPrediction creation date. Status - Sets the search criteria to the BatchPredict */
    FilterVariable?: 'CreatedAt' | 'LastUpdatedAt' | 'Status' | 'Name' | 'IAMUser' | 'MLModelId' | 'DataSourceId' | 'DataURI';
    /** The greater than or equal to operator. The BatchPrediction results will have FilterVariable values that are greater than or equal to the value specified with GE. */
    GE?: string;
    /** The greater than operator. The BatchPrediction results will have FilterVariable values that are greater than the value specified with GT. */
    GT?: string;
    /** The less than or equal to operator. The BatchPrediction results will have FilterVariable values that are less than or equal to the value specified with LE. */
    LE?: string;
    /** The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100. */
    Limit?: number;
    /** The less than operator. The BatchPrediction results will have FilterVariable values that are less than the value specified with LT. */
    LT?: string;
    /** The not equal to operator. The BatchPrediction results will have FilterVariable values not equal to the value specified with NE. */
    NE?: string;
    /** An ID of the page in the paginated results. */
    NextToken?: string;
    /** A string that is found at the beginning of a variable, such as Name or Id. For example, a Batch Prediction operation could have the Name 2014-09-09-HolidayGiftMailer. To search for this BatchPredictio */
    Prefix?: string;
    /** A two-value parameter that determines the sequence of the resulting list of MLModels. asc - Arranges the list in ascending order (A-Z, 0-9). dsc - Arranges the list in descending order (Z-A, 9-0). Res */
    SortOrder?: 'asc' | 'dsc';
}
export interface DescribeDataSourcesInput {
    /** The equal to operator. The DataSource results will have FilterVariable values that exactly match the value specified with EQ. */
    EQ?: string;
    /** Use one of the following variables to filter a list of DataSource: CreatedAt - Sets the search criteria to DataSource creation dates. Status - Sets the search criteria to DataSource statuses. Name - S */
    FilterVariable?: 'CreatedAt' | 'LastUpdatedAt' | 'Status' | 'Name' | 'DataLocationS3' | 'IAMUser';
    /** The greater than or equal to operator. The DataSource results will have FilterVariable values that are greater than or equal to the value specified with GE. */
    GE?: string;
    /** The greater than operator. The DataSource results will have FilterVariable values that are greater than the value specified with GT. */
    GT?: string;
    /** The less than or equal to operator. The DataSource results will have FilterVariable values that are less than or equal to the value specified with LE. */
    LE?: string;
    /** The maximum number of DataSource to include in the result. */
    Limit?: number;
    /** The less than operator. The DataSource results will have FilterVariable values that are less than the value specified with LT. */
    LT?: string;
    /** The not equal to operator. The DataSource results will have FilterVariable values not equal to the value specified with NE. */
    NE?: string;
    /** The ID of the page in the paginated results. */
    NextToken?: string;
    /** A string that is found at the beginning of a variable, such as Name or Id. For example, a DataSource could have the Name 2014-09-09-HolidayGiftMailer. To search for this DataSource, select Name for th */
    Prefix?: string;
    /** A two-value parameter that determines the sequence of the resulting list of DataSource. asc - Arranges the list in ascending order (A-Z, 0-9). dsc - Arranges the list in descending order (Z-A, 9-0). R */
    SortOrder?: 'asc' | 'dsc';
}
export interface DescribeEvaluationsInput {
    /** The equal to operator. The Evaluation results will have FilterVariable values that exactly match the value specified with EQ. */
    EQ?: string;
    /** Use one of the following variable to filter a list of Evaluation objects: CreatedAt - Sets the search criteria to the Evaluation creation date. Status - Sets the search criteria to the Evaluation stat */
    FilterVariable?: 'CreatedAt' | 'LastUpdatedAt' | 'Status' | 'Name' | 'IAMUser' | 'MLModelId' | 'DataSourceId' | 'DataURI';
    /** The greater than or equal to operator. The Evaluation results will have FilterVariable values that are greater than or equal to the value specified with GE. */
    GE?: string;
    /** The greater than operator. The Evaluation results will have FilterVariable values that are greater than the value specified with GT. */
    GT?: string;
    /** The less than or equal to operator. The Evaluation results will have FilterVariable values that are less than or equal to the value specified with LE. */
    LE?: string;
    /** The maximum number of Evaluation to include in the result. */
    Limit?: number;
    /** The less than operator. The Evaluation results will have FilterVariable values that are less than the value specified with LT. */
    LT?: string;
    /** The not equal to operator. The Evaluation results will have FilterVariable values not equal to the value specified with NE. */
    NE?: string;
    /** The ID of the page in the paginated results. */
    NextToken?: string;
    /** A string that is found at the beginning of a variable, such as Name or Id. For example, an Evaluation could have the Name 2014-09-09-HolidayGiftMailer. To search for this Evaluation, select Name for t */
    Prefix?: string;
    /** A two-value parameter that determines the sequence of the resulting list of Evaluation. asc - Arranges the list in ascending order (A-Z, 0-9). dsc - Arranges the list in descending order (Z-A, 9-0). R */
    SortOrder?: 'asc' | 'dsc';
}
export interface DescribeMLModelsInput {
    /** The equal to operator. The MLModel results will have FilterVariable values that exactly match the value specified with EQ. */
    EQ?: string;
    /** Use one of the following variables to filter a list of MLModel: CreatedAt - Sets the search criteria to MLModel creation date. Status - Sets the search criteria to MLModel status. Name - Sets the sear */
    FilterVariable?: 'CreatedAt' | 'LastUpdatedAt' | 'Status' | 'Name' | 'IAMUser' | 'TrainingDataSourceId' | 'RealtimeEndpointStatus' | 'MLModelType' | 'Algorithm' | 'TrainingDataURI';
    /** The greater than or equal to operator. The MLModel results will have FilterVariable values that are greater than or equal to the value specified with GE. */
    GE?: string;
    /** The greater than operator. The MLModel results will have FilterVariable values that are greater than the value specified with GT. */
    GT?: string;
    /** The less than or equal to operator. The MLModel results will have FilterVariable values that are less than or equal to the value specified with LE. */
    LE?: string;
    /** The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100. */
    Limit?: number;
    /** The less than operator. The MLModel results will have FilterVariable values that are less than the value specified with LT. */
    LT?: string;
    /** The not equal to operator. The MLModel results will have FilterVariable values not equal to the value specified with NE. */
    NE?: string;
    /** The ID of the page in the paginated results. */
    NextToken?: string;
    /** A string that is found at the beginning of a variable, such as Name or Id. For example, an MLModel could have the Name 2014-09-09-HolidayGiftMailer. To search for this MLModel, select Name for the Fil */
    Prefix?: string;
    /** A two-value parameter that determines the sequence of the resulting list of MLModel. asc - Arranges the list in ascending order (A-Z, 0-9). dsc - Arranges the list in descending order (Z-A, 9-0). Resu */
    SortOrder?: 'asc' | 'dsc';
}
export interface DescribeTagsInput {
    /** The ID of the ML object. For example, exampleModelId. */
    ResourceId: string;
    /** The type of the ML object. */
    ResourceType: 'BatchPrediction' | 'DataSource' | 'Evaluation' | 'MLModel';
}
export interface GetBatchPredictionInput {
    /** An ID assigned to the BatchPrediction at creation. */
    BatchPredictionId: string;
}
export interface GetDataSourceInput {
    /** The ID assigned to the DataSource at creation. */
    DataSourceId: string;
    /** Specifies whether the GetDataSource operation should return DataSourceSchema. If true, DataSourceSchema is returned. If false, DataSourceSchema is not returned. */
    Verbose?: boolean;
}
export interface GetEvaluationInput {
    /** The ID of the Evaluation to retrieve. The evaluation of each MLModel is recorded and cataloged. The ID provides the means to access the information. */
    EvaluationId: string;
}
export interface GetMLModelInput {
    /** The ID assigned to the MLModel at creation. */
    MLModelId: string;
    /** Specifies whether the GetMLModel operation should return Recipe. If true, Recipe is returned. If false, Recipe is not returned. */
    Verbose?: boolean;
}
export interface PredictInput {
    /** A unique identifier of the MLModel. */
    MLModelId: string;
    PredictEndpoint: string;
    Record: Record<string, string>;
}
export interface UpdateBatchPredictionInput {
    /** The ID assigned to the BatchPrediction during creation. */
    BatchPredictionId: string;
    /** A new user-supplied name or description of the BatchPrediction. */
    BatchPredictionName: string;
}
export interface UpdateDataSourceInput {
    /** The ID assigned to the DataSource during creation. */
    DataSourceId: string;
    /** A new user-supplied name or description of the DataSource that will replace the current description. */
    DataSourceName: string;
}
export interface UpdateEvaluationInput {
    /** The ID assigned to the Evaluation during creation. */
    EvaluationId: string;
    /** A new user-supplied name or description of the Evaluation that will replace the current content. */
    EvaluationName: string;
}
export interface UpdateMLModelInput {
    /** The ID assigned to the MLModel during creation. */
    MLModelId: string;
    /** A user-supplied name or description of the MLModel. */
    MLModelName?: string;
    /** The ScoreThreshold used in binary classification MLModel that marks the boundary between a positive prediction and a negative prediction. Output values greater than or equal to the ScoreThreshold rece */
    ScoreThreshold?: number;
}
/** Machine Learning service binding for Step Functions SDK integrations. */
export declare class MachineLearning {
    constructor();
    addTags<T>(params: AddTagsInput): Promise<T>;
    createBatchPrediction<T>(params: CreateBatchPredictionInput): Promise<T>;
    createDataSourceFromRDS<T>(params: CreateDataSourceFromRDSInput): Promise<T>;
    createDataSourceFromRedshift<T>(params: CreateDataSourceFromRedshiftInput): Promise<T>;
    createDataSourceFromS3<T>(params: CreateDataSourceFromS3Input): Promise<T>;
    createEvaluation<T>(params: CreateEvaluationInput): Promise<T>;
    createMLModel<T>(params: CreateMLModelInput): Promise<T>;
    createRealtimeEndpoint<T>(params: CreateRealtimeEndpointInput): Promise<T>;
    deleteBatchPrediction<T>(params: DeleteBatchPredictionInput): Promise<T>;
    deleteDataSource<T>(params: DeleteDataSourceInput): Promise<T>;
    deleteEvaluation<T>(params: DeleteEvaluationInput): Promise<T>;
    deleteMLModel<T>(params: DeleteMLModelInput): Promise<T>;
    deleteRealtimeEndpoint<T>(params: DeleteRealtimeEndpointInput): Promise<T>;
    deleteTags<T>(params: DeleteTagsInput): Promise<T>;
    describeBatchPredictions<T>(params: DescribeBatchPredictionsInput): Promise<T>;
    describeDataSources<T>(params: DescribeDataSourcesInput): Promise<T>;
    describeEvaluations<T>(params: DescribeEvaluationsInput): Promise<T>;
    describeMLModels<T>(params: DescribeMLModelsInput): Promise<T>;
    describeTags<T>(params: DescribeTagsInput): Promise<T>;
    getBatchPrediction<T>(params: GetBatchPredictionInput): Promise<T>;
    getDataSource<T>(params: GetDataSourceInput): Promise<T>;
    getEvaluation<T>(params: GetEvaluationInput): Promise<T>;
    getMLModel<T>(params: GetMLModelInput): Promise<T>;
    predict<T>(params: PredictInput): Promise<T>;
    updateBatchPrediction<T>(params: UpdateBatchPredictionInput): Promise<T>;
    updateDataSource<T>(params: UpdateDataSourceInput): Promise<T>;
    updateEvaluation<T>(params: UpdateEvaluationInput): Promise<T>;
    updateMLModel<T>(params: UpdateMLModelInput): Promise<T>;
}
//# sourceMappingURL=MachineLearning.d.ts.map