import { Equals } from "@tsplus/stdlib/structure/Equals";
import { Hash } from "@tsplus/stdlib/structure/Hash";
export declare const MetricLabelSym: unique symbol;
export declare type MetricLabelSym = typeof MetricLabelSym;
/**
 * A `MetricLabel` represents a key value pair that allows analyzing metrics at
 * an additional level of granularity.
 *
 * For example if a metric tracks the response time of a service labels could
 * be used to create separate versions that track response times for different
 * clients.
 *
 * @tsplus type ets/Metrics/MetricLabel
 * @tsplus companion ets/Metrics/MetricLabel/Ops
 */
export declare class MetricLabel implements Equals {
    readonly key: string;
    readonly value: string;
    readonly [MetricLabelSym]: symbol;
    constructor(key: string, value: string);
    [Hash.sym](): number;
    [Equals.sym](that: unknown): boolean;
}
/**
 * @tsplus static ets/Metrics/MetricLabel/Ops __call
 * @tsplus location "@effect/core/io/Metrics/MetricLabel"
 */
export declare function make(key: string, value: string): MetricLabel;
/**
 * @tsplus static ets/Metrics/MetricLabel/Ops isMetricLabel
 * @tsplus location "@effect/core/io/Metrics/MetricLabel"
 */
export declare function isMetricLabel(u: unknown): u is MetricLabel;
//# sourceMappingURL=MetricLabel.d.ts.map