UNPKG

@snap/camera-kit

Version:
21 lines 1.08 kB
import type { OperationalMetric } from "../../generated-proto/pb_schema/camera_kit/v3/operational_metrics"; type MetricConstructor<T> = new (name: string, dimensions: MetricDimensions) => T; declare const nameDelimiter = "_"; /** @internal */ export type MetricDimensions = Record<string, string | number>; /** @internal */ export declare abstract class Metric { readonly name: string; readonly dimensions: MetricDimensions; constructor(name: string, dimensions?: MetricDimensions); child<ChildName extends string, T extends Metric>(constructor: MetricConstructor<T>, name: ChildName, dimensions?: MetricDimensions): T; abstract toOperationalMetric(): Required<OperationalMetric>[]; } /** @internal */ export type JoinMetricNames<Parent extends string, Child extends string> = `${Parent}${typeof nameDelimiter}${Child}`; /** @internal */ export declare function joinMetricNames(names: string[]): string; /** @internal */ export declare function serializeMetricDimensions(dimensions: MetricDimensions): string; export {}; //# sourceMappingURL=Metric.d.ts.map