/** * @since 2.0.0 */ import * as internal from "./internal/metric/pair.js" import type * as MetricKey from "./MetricKey.js" import type * as MetricKeyType from "./MetricKeyType.js" import type * as MetricState from "./MetricState.js" import type { Pipeable } from "./Pipeable.js" import type * as Types from "./Types.js" /** * @since 2.0.0 * @category symbols */ export const MetricPairTypeId: unique symbol = internal.MetricPairTypeId /** * @since 2.0.0 * @category symbols */ export type MetricPairTypeId = typeof MetricPairTypeId /** * @since 2.0.0 * @category model */ export interface MetricPair> extends MetricPair.Variance, Pipeable { readonly metricKey: MetricKey.MetricKey readonly metricState: MetricState.MetricState> } /** * @since 2.0.0 */ export declare namespace MetricPair { /** * @since 2.0.0 * @category models */ export interface Untyped extends MetricPair> {} /** * @since 2.0.0 * @category models */ export interface Variance> { readonly [MetricPairTypeId]: { readonly _Type: Types.Covariant } } } /** * @since 2.0.0 * @category constructors */ export const make: >( metricKey: MetricKey.MetricKey, metricState: MetricState.MetricState> ) => MetricPair.Untyped = internal.make /** * @since 2.0.0 * @category unsafe */ export const unsafeMake: >( metricKey: MetricKey.MetricKey, metricState: MetricState.MetricState.Untyped ) => MetricPair.Untyped = internal.unsafeMake