import { SmrtObject } from '@happyvertical/smrt-core'; import { JsonObject, Subscriber, SubscriberKind, TenantUsageMetricOptions } from '../types.js'; export declare class TenantUsageMetric extends SmrtObject { tenantId?: string; /** * Discriminator for which subscriber identity recorded this usage. * `'tenant'` (default) preserves the legacy shape; `'external'` indicates * the subscriber is `subscriberExternalId` under the issuing `tenantId`. */ subscriberKind: SubscriberKind; /** * Opaque caller-namespaced subscriber id when `subscriberKind === 'external'`. * Empty string when kind is `'tenant'`. */ subscriberExternalId: string; metricKey: string; quantity: number; windowStart: Date; windowEnd: Date; source: string; sourceId: string; projectId: string; workRefType: string; workRefId: string; provider: string; dimensions: string; constructor(options?: TenantUsageMetricOptions); /** See `TenantSubscription.validateBeforeSave` for the rationale. */ protected validateBeforeSave(): Promise; /** * Project this row's polymorphic subscriber columns onto the * {@link Subscriber} discriminated union. */ getSubscriber(): Subscriber | null; getDimensions(): JsonObject; setDimensions(dimensions: JsonObject): void; } export default TenantUsageMetric; //# sourceMappingURL=TenantUsageMetric.d.ts.map