export interface RandomCutForestConfiguration {
    /** The Prometheus query used to retrieve the time-series data for anomaly detection. Random Cut Forest queries must be wrapped by a supported PromQL aggregation operator. For more information, see Aggreg */
    query: string;
    /** The number of consecutive data points used to create a shingle for the Random Cut Forest algorithm. The default number is 8 consecutive data points. */
    shingleSize?: number;
    /** The number of data points sampled from the input stream for the Random Cut Forest algorithm. The default number is 256 consecutive data points. */
    sampleSize?: number;
    /** Configuration for ignoring values that are near expected values from above during anomaly detection. */
    ignoreNearExpectedFromAbove?: any;
    /** Configuration for ignoring values that are near expected values from below during anomaly detection. */
    ignoreNearExpectedFromBelow?: any;
}
export interface EksConfiguration {
    /** ARN of the Amazon EKS cluster. */
    clusterArn: string;
    /** A list of the security group IDs for the Amazon EKS cluster VPC configuration. */
    securityGroupIds?: any[];
    /** A list of subnet IDs for the Amazon EKS cluster VPC configuration. */
    subnetIds: any[];
}
export interface VpcConfiguration {
    /** The security group IDs that control network access for the Prometheus collector. These security groups must allow the collector to communicate with your Amazon MSK cluster on the required ports. */
    securityGroupIds: any[];
    /** The subnet IDs where the Prometheus collector will be deployed. The subnets must be in the same Amazon VPC as your Amazon MSK cluster and have network connectivity to the cluster. */
    subnetIds: any[];
}
export interface AmpConfiguration {
    /** ARN of the Amazon Managed Service for Prometheus workspace. */
    workspaceArn: string;
}
export interface RoleConfiguration {
    /** The Amazon Resource Name (ARN) of the role used in the source account to enable cross-account scraping. For information about the contents of this policy, see Cross-account setup. */
    sourceRoleArn?: string;
    /** The Amazon Resource Name (ARN) of the role used in the target account to enable cross-account scraping. For information about the contents of this policy, see Cross-account setup. */
    targetRoleArn?: string;
}
export interface LoggingDestination {
    /** Configuration details for logging to CloudWatch Logs. */
    cloudWatchLogs: any;
    /** Filtering criteria that determine which queries are logged. */
    filters: any;
}
export interface CloudWatchLogDestination {
    /** The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist prior to calling this operation. */
    logGroupArn: string;
}
export interface ScraperComponent {
    /** The type of the scraper component. */
    type: 'SERVICE_DISCOVERY' | 'COLLECTOR' | 'EXPORTER';
    /** The configuration settings for the scraper component. */
    config?: any;
}
export interface LimitsPerLabelSet {
    /** This structure contains the information about the limits that apply to time series that match this label set. */
    limits: any;
    /** This defines one label set that will have an enforced active time series limit. Label values accept ASCII characters and must contain at least one character that isn't whitespace. ASCII control charac */
    labelSet: Record<string, any>;
}
export interface CreateAnomalyDetectorInput {
    /** A user-friendly name for the anomaly detector. */
    alias: string;
    /** The algorithm configuration for the anomaly detector. */
    configuration: {
        randomCutForest?: RandomCutForestConfiguration;
    };
    /** The identifier of the workspace where the anomaly detector will be created. */
    workspaceId: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** The frequency, in seconds, at which the anomaly detector evaluates metrics. The default value is 60 seconds. */
    evaluationIntervalInSeconds?: number;
    /** The Amazon Managed Service for Prometheus metric labels to associate with the anomaly detector. */
    labels?: Record<string, string>;
    /** Specifies the action to take when data is missing during evaluation. */
    missingDataAction?: {
        markAsAnomaly?: boolean;
    } | {
        skip?: boolean;
    };
    /** The metadata to apply to the anomaly detector to assist with categorization and organization. */
    tags?: Record<string, string>;
}
/** Represents the input of a CreateScraper operation. */
export interface CreateScraperInput {
    /** The Amazon Managed Service for Prometheus workspace to send metrics to. */
    destination: {
        ampConfiguration?: AmpConfiguration;
    };
    /** The configuration file to use in the new scraper. For more information, see Scraper configuration in the Amazon Managed Service for Prometheus User Guide. */
    scrapeConfiguration: {
        configurationBlob?: string;
    };
    /** The Amazon EKS or Amazon Web Services cluster from which the scraper will collect metrics. */
    source: {
        eksConfiguration?: EksConfiguration;
    } | {
        vpcConfiguration?: VpcConfiguration;
    };
    /** (optional) An alias to associate with the scraper. This is for your use, and does not need to be unique. */
    alias?: string;
    /** (Optional) A unique, case-sensitive identifier that you can provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** Use this structure to enable cross-account access, so that you can use a target account to access Prometheus metrics from source accounts. */
    roleConfiguration?: RoleConfiguration;
    /** (Optional) The list of tag keys and values to associate with the scraper. */
    tags?: Record<string, string>;
}
/** Represents the input of a CreateWorkspace operation. */
export interface CreateWorkspaceInput {
    /** An alias that you assign to this workspace to help you identify it. It does not need to be unique. Blank spaces at the beginning or end of the alias that you specify will be trimmed from the value use */
    alias?: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
    /** (optional) The ARN for a customer managed KMS key to use for encrypting data within your workspace. For more information about using your own key in your workspace, see Encryption at rest in the Amazo */
    kmsKeyArn?: string;
    /** The list of tag keys and values to associate with the workspace. */
    tags?: Record<string, string>;
}
/** Represents the input of a DeleteAlertManagerDefinition operation. */
export interface DeleteAlertManagerDefinitionInput {
    /** The ID of the workspace to delete the alert manager definition from. */
    workspaceId: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
}
export interface DeleteAnomalyDetectorInput {
    /** The identifier of the anomaly detector to delete. */
    anomalyDetectorId: string;
    /** The identifier of the workspace containing the anomaly detector to delete. */
    workspaceId: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    clientToken?: string;
}
/** Represents the input of a DeleteLoggingConfiguration operation. */
export interface DeleteLoggingConfigurationInput {
    /** The ID of the workspace containing the logging configuration to delete. */
    workspaceId: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
}
export interface DeleteQueryLoggingConfigurationInput {
    /** The ID of the workspace from which to delete the query logging configuration. */
    workspaceId: string;
    /** (Optional) A unique, case-sensitive identifier that you can provide to ensure the idempotency of the request. */
    clientToken?: string;
}
export interface DeleteResourcePolicyInput {
    /** The ID of the workspace from which to delete the resource-based policy. */
    workspaceId: string;
    /** A unique, case-sensitive identifier that you provide to ensure the request is safe to retry (idempotent). */
    clientToken?: string;
    /** The revision ID of the policy to delete. Use this parameter to ensure that you are deleting the correct version of the policy. */
    revisionId?: string;
}
/** Represents the input of a DeleteRuleGroupsNamespace operation. */
export interface DeleteRuleGroupsNamespaceInput {
    /** The name of the rule groups namespace to delete. */
    name: string;
    /** The ID of the workspace containing the rule groups namespace and definition to delete. */
    workspaceId: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
}
/** Represents the input of a DeleteScraper operation. */
export interface DeleteScraperInput {
    /** The ID of the scraper to delete. */
    scraperId: string;
    /** (Optional) A unique, case-sensitive identifier that you can provide to ensure the idempotency of the request. */
    clientToken?: string;
}
export interface DeleteScraperLoggingConfigurationInput {
    /** The ID of the scraper whose logging configuration will be deleted. */
    scraperId: string;
    /** A unique, case-sensitive identifier that you provide to ensure the request is processed exactly once. */
    clientToken?: string;
}
/** Represents the input of a DeleteWorkspace operation. */
export interface DeleteWorkspaceInput {
    /** The ID of the workspace to delete. */
    workspaceId: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
}
/** Represents the input of a DescribeAlertManagerDefinition operation. */
export interface DescribeAlertManagerDefinitionInput {
    /** The ID of the workspace to retrieve the alert manager definition from. */
    workspaceId: string;
}
export interface DescribeAnomalyDetectorInput {
    /** The identifier of the anomaly detector to describe. */
    anomalyDetectorId: string;
    /** The identifier of the workspace containing the anomaly detector. */
    workspaceId: string;
}
/** Represents the input of a DescribeLoggingConfiguration operation. */
export interface DescribeLoggingConfigurationInput {
    /** The ID of the workspace to describe the logging configuration for. */
    workspaceId: string;
}
export interface DescribeQueryLoggingConfigurationInput {
    /** The ID of the workspace for which to retrieve the query logging configuration. */
    workspaceId: string;
}
export interface DescribeResourcePolicyInput {
    /** The ID of the workspace to describe the resource-based policy for. */
    workspaceId: string;
}
/** Represents the input of a DescribeRuleGroupsNamespace operation. */
export interface DescribeRuleGroupsNamespaceInput {
    /** The name of the rule groups namespace that you want information for. */
    name: string;
    /** The ID of the workspace containing the rule groups namespace. */
    workspaceId: string;
}
/** Represents the input of a DescribeScraper operation. */
export interface DescribeScraperInput {
    /** The ID of the scraper to describe. */
    scraperId: string;
}
export interface DescribeScraperLoggingConfigurationInput {
    /** The ID of the scraper whose logging configuration will be described. */
    scraperId: string;
}
/** Represents the input of a DescribeWorkspace operation. */
export interface DescribeWorkspaceInput {
    /** The ID of the workspace to describe. */
    workspaceId: string;
}
export interface DescribeWorkspaceConfigurationInput {
    /** The ID of the workspace that you want to retrieve information for. To find the IDs of your workspaces, use the ListWorkspaces operation. */
    workspaceId: string;
}
export interface ListAnomalyDetectorsInput {
    /** The identifier of the workspace containing the anomaly detectors to list. */
    workspaceId: string;
    /** Filters the results to anomaly detectors with the specified alias. */
    alias?: string;
    /** The maximum number of results to return in a single call. Valid range is 1 to 1000. */
    maxResults?: number;
    /** The pagination token to continue retrieving results. */
    nextToken?: string;
}
/** Represents the input of a ListRuleGroupsNamespaces operation. */
export interface ListRuleGroupsNamespacesInput {
    /** The ID of the workspace containing the rule groups namespaces. */
    workspaceId: string;
    /** The maximum number of results to return. The default is 100. */
    maxResults?: number;
    /** Use this parameter to filter the rule groups namespaces that are returned. Only the namespaces with names that begin with the value that you specify are returned. */
    name?: string;
    /** The token for the next set of items to return. You receive this token from a previous call, and use it to get the next page of results. The other parameters must be the same as the initial call. For e */
    nextToken?: string;
}
/** Represents the input of a ListScrapers operation. */
export interface ListScrapersInput {
    /** (Optional) A list of key-value pairs to filter the list of scrapers returned. Keys include status, sourceArn, destinationArn, and alias. Filters on the same key are OR'd together, and filters on diffe */
    filters?: Record<string, string[]>;
    /** Optional) The maximum number of scrapers to return in one ListScrapers operation. The range is 1-1000. If you omit this parameter, the default of 100 is used. */
    maxResults?: number;
    /** (Optional) The token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource to list tages for. Must be a workspace, scraper, or rule groups namespace resource. */
    resourceArn: string;
}
/** Represents the input of a ListWorkspaces operation. */
export interface ListWorkspacesInput {
    /** If this is included, it filters the results to only the workspaces with names that start with the value that you specify here. Amazon Managed Service for Prometheus will automatically strip any blank  */
    alias?: string;
    /** The maximum number of workspaces to return per request. The default is 100. */
    maxResults?: number;
    /** The token for the next set of items to return. You receive this token from a previous call, and use it to get the next page of results. The other parameters must be the same as the initial call. For e */
    nextToken?: string;
}
/** Represents the input of a PutAlertManagerDefinition operation. */
export interface PutAlertManagerDefinitionInput {
    /** The alert manager definition to use. A base64-encoded version of the YAML alert manager definition file. For details about the alert manager definition, see AlertManagedDefinitionData. */
    data: string;
    /** The ID of the workspace to update the alert manager definition in. */
    workspaceId: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
}
/** Represents the input of a PutRuleGroupsNamespace operation. */
export interface PutRuleGroupsNamespaceInput {
    /** The new rules file to use in the namespace. A base64-encoded version of the YAML rule groups file. For details about the rule groups namespace structure, see RuleGroupsNamespaceData. */
    data: string;
    /** The name of the rule groups namespace that you are updating. */
    name: string;
    /** The ID of the workspace where you are updating the rule groups namespace. */
    workspaceId: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
}
export interface TagResourceInput {
    /** The ARN of the resource to apply tags to. */
    resourceArn: string;
    /** The list of tag keys and values to associate with the resource. Keys must not begin with aws:. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The ARN of the resource from which to remove a tag. */
    resourceArn: string;
    /** The keys of the tags to remove. */
    tagKeys: string[];
}
/** Represents the input of an UpdateLoggingConfiguration operation. */
export interface UpdateLoggingConfigurationInput {
    /** The ARN of the CloudWatch log group to which the vended log data will be published. */
    logGroupArn: string;
    /** The ID of the workspace to update the logging configuration for. */
    workspaceId: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
}
export interface UpdateQueryLoggingConfigurationInput {
    /** The destinations where query logs will be sent. Only CloudWatch Logs destination is supported. The list must contain exactly one element. */
    destinations: LoggingDestination[];
    /** The ID of the workspace for which to update the query logging configuration. */
    workspaceId: string;
    /** (Optional) A unique, case-sensitive identifier that you can provide to ensure the idempotency of the request. */
    clientToken?: string;
}
export interface UpdateScraperInput {
    /** The ID of the scraper to update. */
    scraperId: string;
    /** The new alias of the scraper. */
    alias?: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
    /** The new Amazon Managed Service for Prometheus workspace to send metrics to. */
    destination?: {
        ampConfiguration?: AmpConfiguration;
    };
    /** Use this structure to enable cross-account access, so that you can use a target account to access Prometheus metrics from source accounts. */
    roleConfiguration?: RoleConfiguration;
    /** Contains the base-64 encoded YAML configuration for the scraper. For more information about configuring a scraper, see Using an Amazon Web Services managed collector in the Amazon Managed Service for  */
    scrapeConfiguration?: {
        configurationBlob?: string;
    };
}
export interface UpdateScraperLoggingConfigurationInput {
    /** The destination where scraper logs will be sent. */
    loggingDestination: {
        cloudWatchLogs?: CloudWatchLogDestination;
    };
    /** The ID of the scraper whose logging configuration will be updated. */
    scraperId: string;
    /** The list of scraper components to configure for logging. */
    scraperComponents?: ScraperComponent[];
}
/** Represents the input of an UpdateWorkspaceAlias operation. */
export interface UpdateWorkspaceAliasInput {
    /** The ID of the workspace to update. */
    workspaceId: string;
    /** The new alias for the workspace. It does not need to be unique. Amazon Managed Service for Prometheus will automatically strip any blank spaces from the beginning and end of the alias that you specify */
    alias?: string;
    /** A unique identifier that you can provide to ensure the idempotency of the request. Case-sensitive. */
    clientToken?: string;
}
export interface UpdateWorkspaceConfigurationInput {
    /** The ID of the workspace that you want to update. To find the IDs of your workspaces, use the ListWorkspaces operation. */
    workspaceId: string;
    /** You can include a token in your operation to make it an idempotent opeartion. */
    clientToken?: string;
    /** This is an array of structures, where each structure defines a label set for the workspace, and defines the active time series limit for each of those label sets. Each label name in a label set must b */
    limitsPerLabelSet?: LimitsPerLabelSet[];
    /** Specifies how many days that metrics will be retained in the workspace. */
    retentionPeriodInDays?: number;
}
/** amp service binding for Step Functions SDK integrations. */
export declare class amp {
    constructor();
    createAnomalyDetector<T>(params: CreateAnomalyDetectorInput): Promise<T>;
    createScraper<T>(params: CreateScraperInput): Promise<T>;
    createWorkspace<T>(params: CreateWorkspaceInput): Promise<T>;
    deleteAlertManagerDefinition<T>(params: DeleteAlertManagerDefinitionInput): Promise<T>;
    deleteAnomalyDetector<T>(params: DeleteAnomalyDetectorInput): Promise<T>;
    deleteLoggingConfiguration<T>(params: DeleteLoggingConfigurationInput): Promise<T>;
    deleteQueryLoggingConfiguration<T>(params: DeleteQueryLoggingConfigurationInput): Promise<T>;
    deleteResourcePolicy<T>(params: DeleteResourcePolicyInput): Promise<T>;
    deleteRuleGroupsNamespace<T>(params: DeleteRuleGroupsNamespaceInput): Promise<T>;
    deleteScraper<T>(params: DeleteScraperInput): Promise<T>;
    deleteScraperLoggingConfiguration<T>(params: DeleteScraperLoggingConfigurationInput): Promise<T>;
    deleteWorkspace<T>(params: DeleteWorkspaceInput): Promise<T>;
    describeAlertManagerDefinition<T>(params: DescribeAlertManagerDefinitionInput): Promise<T>;
    describeAnomalyDetector<T>(params: DescribeAnomalyDetectorInput): Promise<T>;
    describeLoggingConfiguration<T>(params: DescribeLoggingConfigurationInput): Promise<T>;
    describeQueryLoggingConfiguration<T>(params: DescribeQueryLoggingConfigurationInput): Promise<T>;
    describeResourcePolicy<T>(params: DescribeResourcePolicyInput): Promise<T>;
    describeRuleGroupsNamespace<T>(params: DescribeRuleGroupsNamespaceInput): Promise<T>;
    describeScraper<T>(params: DescribeScraperInput): Promise<T>;
    describeScraperLoggingConfiguration<T>(params: DescribeScraperLoggingConfigurationInput): Promise<T>;
    describeWorkspace<T>(params: DescribeWorkspaceInput): Promise<T>;
    describeWorkspaceConfiguration<T>(params: DescribeWorkspaceConfigurationInput): Promise<T>;
    getDefaultScraperConfiguration<T>(params: Record<string, any>): Promise<T>;
    listAnomalyDetectors<T>(params: ListAnomalyDetectorsInput): Promise<T>;
    listRuleGroupsNamespaces<T>(params: ListRuleGroupsNamespacesInput): Promise<T>;
    listScrapers<T>(params: ListScrapersInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listWorkspaces<T>(params: ListWorkspacesInput): Promise<T>;
    putAlertManagerDefinition<T>(params: PutAlertManagerDefinitionInput): Promise<T>;
    putRuleGroupsNamespace<T>(params: PutRuleGroupsNamespaceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateLoggingConfiguration<T>(params: UpdateLoggingConfigurationInput): Promise<T>;
    updateQueryLoggingConfiguration<T>(params: UpdateQueryLoggingConfigurationInput): Promise<T>;
    updateScraper<T>(params: UpdateScraperInput): Promise<T>;
    updateScraperLoggingConfiguration<T>(params: UpdateScraperLoggingConfigurationInput): Promise<T>;
    updateWorkspaceAlias<T>(params: UpdateWorkspaceAliasInput): Promise<T>;
    updateWorkspaceConfiguration<T>(params: UpdateWorkspaceConfigurationInput): Promise<T>;
}
//# sourceMappingURL=amp.d.ts.map