import { SmrtCollection } from '@happyvertical/smrt-core'; import { AnalyticsProperty } from '../models/AnalyticsProperty.js'; import { AnalyticsPropertyStatus, AnalyticsProvider } from '../types/index.js'; export declare class AnalyticsPropertyCollection extends SmrtCollection { static readonly _itemClass: typeof AnalyticsProperty; /** * Find property by external ID * * @param externalId - External ID from provider * @returns Matching property or null */ findByExternalId(externalId: string): Promise; /** * Find property by measurement ID (GA4) * * @param measurementId - GA4 measurement ID (G-XXXXXXXXXX) * @returns Matching property or null */ findByMeasurementId(measurementId: string): Promise; /** * Find property by site domain and optional provider. * * @param siteDomain - Provider site domain * @param provider - Optional provider discriminator for migration/coexistence * @returns Matching property or null */ findBySiteDomain(siteDomain: string, provider?: AnalyticsProvider): Promise; /** * Find properties by provider * * @param provider - Analytics provider * @returns Array of matching properties */ findByProvider(provider: AnalyticsProvider): Promise; /** * Find all GA4 properties */ findGA4Properties(): Promise; /** * Find all Plausible sites */ findPlausibleSites(): Promise; /** * Find all Matomo sites */ findMatomoSites(): Promise; /** * Find properties by status * * @param status - Property status * @returns Array of matching properties */ findByStatus(status: AnalyticsPropertyStatus): Promise; /** * Find all active properties */ findActive(): Promise; /** * Find properties that need syncing (not synced in last N hours) * * @param hoursAgo - Hours since last sync * @returns Array of properties needing sync */ findNeedingSync(hoursAgo?: number): Promise; } //# sourceMappingURL=AnalyticsPropertyCollection.d.ts.map