diff --git a/src/observability/analytics/types.ts b/src/observability/analytics/types.ts new file mode 100644 index 00000000..b11aa281 --- /dev/null +++ b/src/observability/analytics/types.ts @@ -0,0 +1,27 @@ +// Ownership: src/observability/analytics/ is owned by Phase 1 sub-plan 1G-analytics. +// This type-only seed exists because Phase 1A-1's Env depends on AnalyticsProviders. +// Sub-plan 1G-analytics extends this file with the facade and adapter implementations. + +export interface AnalyticsProviders { + metrica: boolean; + ctm: boolean; + variocube: boolean; + dynatrace: boolean; +} + +export interface AnalyticsProps { + [key: string]: unknown; +} + +export interface AnalyticsEvent { + kind: "track" | "page"; + name: string; + props: AnalyticsProps; + provider: "metrica" | "ctm" | "variocube" | "dynatrace"; + ts: string; +} + +export interface Analytics { + track(event: string, props?: AnalyticsProps): void; + page(url: string, props?: AnalyticsProps): void; +}