import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * Provides a Datadog metric tag configuration resource. This can be used to modify tag configurations for metrics.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as datadog from "@pulumi/datadog";
 *
 * // Manage a tag configuration for a Datadog distribution metric with/without percentiles
 * const exampleDistMetric = new datadog.MetricTagConfiguration("example_dist_metric", {
 *     metricName: "example.terraform.dist.metric",
 *     metricType: "distribution",
 *     tags: [
 *         "sport",
 *         "datacenter",
 *     ],
 *     includePercentiles: false,
 * });
 * // Manage tag configurations for a Datadog count or gauge metric
 * const exampleCountMetric = new datadog.MetricTagConfiguration("example_count_metric", {
 *     metricName: "example.terraform.count.metric",
 *     metricType: "count",
 *     tags: [
 *         "sport",
 *         "datacenter",
 *     ],
 *     excludeTagsMode: false,
 * });
 * ```
 *
 * ## Import
 *
 * The `pulumi import` command can be used, for example:
 *
 * ```sh
 * $ pulumi import datadog:index/metricTagConfiguration:MetricTagConfiguration example_dist_metric example.terraform.dist.metric
 * ```
 */
export declare class MetricTagConfiguration extends pulumi.CustomResource {
    /**
     * Get an existing MetricTagConfiguration resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MetricTagConfigurationState, opts?: pulumi.CustomResourceOptions): MetricTagConfiguration;
    /**
     * Returns true if the given object is an instance of MetricTagConfiguration.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is MetricTagConfiguration;
    /**
     * A list of queryable aggregation combinations for a count, rate, or gauge metric. By default, count and rate metrics require the (time: sum, space: sum) aggregation and gauge metrics require the (time: avg, space: avg) aggregation. Can only be applied to metrics that have a `metricType` of count, rate, or gauge. **Deprecated.** The 'aggregations' field is no longer supported by the Datadog API and will be ignored. This field will be removed in a future version of the provider.
     *
     * @deprecated The 'aggregations' field is no longer supported by the Datadog API and will be ignored. This field will be removed in a future version of the provider.
     */
    readonly aggregations: pulumi.Output<outputs.MetricTagConfigurationAggregation[]>;
    /**
     * Toggle to include/exclude tags as queryable for your metric. Can only be applied to metrics that have one or more tags configured. Defaults to `false`.
     */
    readonly excludeTagsMode: pulumi.Output<boolean | undefined>;
    /**
     * Toggle to include/exclude percentiles for a distribution metric. Defaults to false. Can only be applied to metrics that have a `metricType` of distribution.
     */
    readonly includePercentiles: pulumi.Output<boolean | undefined>;
    /**
     * The metric name for this resource.
     */
    readonly metricName: pulumi.Output<string>;
    /**
     * The metric's type. This field can't be updated after creation. Valid values are `gauge`, `count`, `rate`, `distribution`.
     */
    readonly metricType: pulumi.Output<string>;
    /**
     * A list of tag keys that will be queryable for your metric.
     */
    readonly tags: pulumi.Output<string[]>;
    /**
     * Create a MetricTagConfiguration resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: MetricTagConfigurationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering MetricTagConfiguration resources.
 */
export interface MetricTagConfigurationState {
    /**
     * A list of queryable aggregation combinations for a count, rate, or gauge metric. By default, count and rate metrics require the (time: sum, space: sum) aggregation and gauge metrics require the (time: avg, space: avg) aggregation. Can only be applied to metrics that have a `metricType` of count, rate, or gauge. **Deprecated.** The 'aggregations' field is no longer supported by the Datadog API and will be ignored. This field will be removed in a future version of the provider.
     *
     * @deprecated The 'aggregations' field is no longer supported by the Datadog API and will be ignored. This field will be removed in a future version of the provider.
     */
    aggregations?: pulumi.Input<pulumi.Input<inputs.MetricTagConfigurationAggregation>[] | undefined>;
    /**
     * Toggle to include/exclude tags as queryable for your metric. Can only be applied to metrics that have one or more tags configured. Defaults to `false`.
     */
    excludeTagsMode?: pulumi.Input<boolean | undefined>;
    /**
     * Toggle to include/exclude percentiles for a distribution metric. Defaults to false. Can only be applied to metrics that have a `metricType` of distribution.
     */
    includePercentiles?: pulumi.Input<boolean | undefined>;
    /**
     * The metric name for this resource.
     */
    metricName?: pulumi.Input<string | undefined>;
    /**
     * The metric's type. This field can't be updated after creation. Valid values are `gauge`, `count`, `rate`, `distribution`.
     */
    metricType?: pulumi.Input<string | undefined>;
    /**
     * A list of tag keys that will be queryable for your metric.
     */
    tags?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
/**
 * The set of arguments for constructing a MetricTagConfiguration resource.
 */
export interface MetricTagConfigurationArgs {
    /**
     * A list of queryable aggregation combinations for a count, rate, or gauge metric. By default, count and rate metrics require the (time: sum, space: sum) aggregation and gauge metrics require the (time: avg, space: avg) aggregation. Can only be applied to metrics that have a `metricType` of count, rate, or gauge. **Deprecated.** The 'aggregations' field is no longer supported by the Datadog API and will be ignored. This field will be removed in a future version of the provider.
     *
     * @deprecated The 'aggregations' field is no longer supported by the Datadog API and will be ignored. This field will be removed in a future version of the provider.
     */
    aggregations?: pulumi.Input<pulumi.Input<inputs.MetricTagConfigurationAggregation>[] | undefined>;
    /**
     * Toggle to include/exclude tags as queryable for your metric. Can only be applied to metrics that have one or more tags configured. Defaults to `false`.
     */
    excludeTagsMode?: pulumi.Input<boolean | undefined>;
    /**
     * Toggle to include/exclude percentiles for a distribution metric. Defaults to false. Can only be applied to metrics that have a `metricType` of distribution.
     */
    includePercentiles?: pulumi.Input<boolean | undefined>;
    /**
     * The metric name for this resource.
     */
    metricName: pulumi.Input<string>;
    /**
     * The metric's type. This field can't be updated after creation. Valid values are `gauge`, `count`, `rate`, `distribution`.
     */
    metricType: pulumi.Input<string>;
    /**
     * A list of tag keys that will be queryable for your metric.
     */
    tags: pulumi.Input<pulumi.Input<string>[]>;
}
//# sourceMappingURL=metricTagConfiguration.d.ts.map