import { SmrtObject, SmrtObjectOptions } from '@happyvertical/smrt-core'; import { DataStreamStatus, DataStreamType } from '../types/index.js'; /** * Options for constructing an {@link AnalyticsDataStream}. */ export interface AnalyticsDataStreamOptions extends SmrtObjectOptions { tenantId?: string | null; propertyId?: string; displayName?: string; streamType?: DataStreamType; externalId?: string; measurementId?: string; firebaseAppId?: string; defaultUri?: string; bundleId?: string; packageName?: string; status?: DataStreamStatus; enhancedMeasurement?: boolean; } /** * AnalyticsDataStream represents a data stream (web, iOS, Android) for an analytics property. * * @example * ```typescript * const stream = await streams.create({ * propertyId: property.id, * displayName: 'Web Stream', * streamType: DataStreamType.WEB, * measurementId: 'G-XXXXXXXXXX', * defaultUri: 'https://example.com' * }); * ``` */ export declare class AnalyticsDataStream extends SmrtObject { /** * Tenant ID for multi-tenancy isolation (#1410). * * Data streams expose tenant-private platform configuration (measurement * IDs, Firebase app IDs, bundle/package names, default URIs). Without tenant * scoping the generated `list`/`get` API returns every tenant's streams. * `@TenantScoped` auto-filters reads and binds writes to the active tenant. */ tenantId: string | null; /** * Parent property ID (references AnalyticsProperty) */ propertyId: string; /** * Human-readable display name */ displayName: string; /** * Stream type (WEB, ANDROID, IOS) */ streamType: DataStreamType; /** * External stream ID from provider */ externalId: string; /** * Measurement ID for web streams (G-XXXXXXX) */ measurementId: string; /** * Firebase App ID for app streams */ firebaseAppId: string; /** * Default URI for web streams */ defaultUri: string; /** * Bundle ID for iOS apps */ bundleId: string; /** * Package name for Android apps */ packageName: string; /** * Stream status */ status: DataStreamStatus; /** * Enhanced measurement enabled */ enhancedMeasurement: boolean; constructor(options?: AnalyticsDataStreamOptions); /** * Check if this is a web stream */ isWeb(): boolean; /** * Check if this is an iOS app stream */ isIOS(): boolean; /** * Check if this is an Android app stream */ isAndroid(): boolean; /** * Check if this is a mobile app stream (iOS or Android) */ isMobileApp(): boolean; /** * Get the platform identifier (measurementId for web, firebaseAppId for apps) */ getPlatformId(): string; } export default AnalyticsDataStream; //# sourceMappingURL=AnalyticsDataStream.d.ts.map