import { type IAuditable, type IObjectCertification } from "../../../base/metadata.js"; import { type IMetadataObject, type IMetadataObjectDefinition } from "../types.js"; /** * Metric type categorizes metric semantics (e.g., currency). * * @public */ export type MetricType = "UNSPECIFIED" | "CURRENCY"; /** * @public */ export interface IMeasureMetadataObjectBase { type: "measure"; /** * Measure MAQL expression */ expression: string; /** * Measure formatting * Prefer set format value, if the format is empty string backend implementation-dependent default will be used. */ format: string; /** * Metric type categorizes metric semantics (e.g., currency). * When set to "CURRENCY", the metric should use currency-related formats. */ metricType?: MetricType; /** * Measure is locked for editing */ isLocked?: boolean; /** * Measure tags. */ tags?: string[]; } /** * Measure metadata object * * @public */ export type IMeasureMetadataObject = IMetadataObject & IMeasureMetadataObjectBase & IAuditable & { /** * Certification metadata. * @internal */ certification?: IObjectCertification; }; /** * Measure metadata object definition * * @public */ export type IMeasureMetadataObjectDefinition = IMetadataObjectDefinition & IMeasureMetadataObjectBase; /** * Tests whether the provided object is of type {@link IMeasureMetadataObject}. * * @param obj - object to test * @public */ export declare function isMeasureMetadataObject(obj: unknown): obj is IMeasureMetadataObject; /** * Tests whether the provided object is of type {@link IMeasureMetadataObjectDefinition}. * * @param obj - object to test * @public */ export declare function isMeasureMetadataObjectDefinition(obj: unknown): obj is IMeasureMetadataObjectDefinition; //# sourceMappingURL=index.d.ts.map