import * as _walkeros_core_dev from '@walkeros/core/dev'; import { z } from '@walkeros/core/dev'; import { DestinationWeb } from '@walkeros/web-core'; import { Flow } from '@walkeros/core'; /** * Snowplow-specific settings schema (similar to GA4Settings in gtag) */ declare const SnowplowSettingsSchema: z.ZodObject<{ actionSchema: z.ZodOptional; productSchema: z.ZodOptional; cartSchema: z.ZodOptional; transactionSchema: z.ZodOptional; refundSchema: z.ZodOptional; checkoutStepSchema: z.ZodOptional; promotionSchema: z.ZodOptional; userSchema: z.ZodOptional; customSchemas: z.ZodOptional>; currency: z.ZodOptional; }, z.core.$strip>; /** * Tracker contexts schema */ declare const TrackerContextsSchema: z.ZodObject<{ webPage: z.ZodOptional; session: z.ZodOptional; performanceTiming: z.ZodOptional; geolocation: z.ZodOptional; }, z.core.$strip>; /** * URL-based plugin schema */ declare const UrlBasedPluginSchema: z.ZodObject<{ url: z.ZodString; name: z.ZodTuple<[z.ZodString, z.ZodString], null>; enableMethod: z.ZodOptional; options: z.ZodOptional>; }, z.core.$strip>; /** * Activity tracking configuration schema */ declare const ActivityTrackingSchema: z.ZodObject<{ minimumVisitLength: z.ZodNumber; heartbeatDelay: z.ZodNumber; }, z.core.$strip>; /** * Configuration settings schema for Snowplow destination */ declare const SettingsSchema: z.ZodObject<{ collectorUrl: z.ZodOptional; appId: z.ZodOptional; trackerName: z.ZodOptional; platform: z.ZodOptional; pageViewTracking: z.ZodOptional; snowplow: z.ZodOptional; productSchema: z.ZodOptional; cartSchema: z.ZodOptional; transactionSchema: z.ZodOptional; refundSchema: z.ZodOptional; checkoutStepSchema: z.ZodOptional; promotionSchema: z.ZodOptional; userSchema: z.ZodOptional; customSchemas: z.ZodOptional>; currency: z.ZodOptional; }, z.core.$strip>>; discoverRootDomain: z.ZodOptional; cookieSameSite: z.ZodOptional>; appVersion: z.ZodOptional; contexts: z.ZodOptional; session: z.ZodOptional; performanceTiming: z.ZodOptional; geolocation: z.ZodOptional; }, z.core.$strip>>; anonymousTracking: z.ZodOptional; withSessionTracking: z.ZodOptional; }, z.core.$strip>]>>; plugins: z.ZodOptional; enableMethod: z.ZodOptional; options: z.ZodOptional>; }, z.core.$strip>, z.ZodAny]>>>; activityTracking: z.ZodOptional>; globalContexts: z.ZodOptional>; }, z.core.$strip>; type Settings = z.infer; type SnowplowSettings = z.infer; type TrackerContexts = z.infer; type UrlBasedPlugin = z.infer; type ActivityTracking = z.infer; /** * Per-event Snowplow settings override schema */ declare const SnowplowMappingSettingsSchema: z.ZodObject<{ actionSchema: z.ZodOptional; }, z.core.$strip>; /** * Custom mapping parameters schema for Snowplow events * * Use the standard `name` field from mapping rules for the action type. * The `name` maps to Snowplow's event.data.type. */ declare const MappingSchema: z.ZodObject<{ context: z.ZodOptional; }, z.core.$strip>>>; snowplow: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; type Mapping = z.infer; type SnowplowMappingSettings = z.infer; declare const settings: _walkeros_core_dev.JSONSchema; declare const mapping: _walkeros_core_dev.JSONSchema; type index$1_ActivityTracking = ActivityTracking; declare const index$1_ActivityTrackingSchema: typeof ActivityTrackingSchema; type index$1_Mapping = Mapping; declare const index$1_MappingSchema: typeof MappingSchema; type index$1_Settings = Settings; declare const index$1_SettingsSchema: typeof SettingsSchema; type index$1_SnowplowMappingSettings = SnowplowMappingSettings; type index$1_SnowplowSettings = SnowplowSettings; type index$1_TrackerContexts = TrackerContexts; declare const index$1_TrackerContextsSchema: typeof TrackerContextsSchema; type index$1_UrlBasedPlugin = UrlBasedPlugin; declare const index$1_UrlBasedPluginSchema: typeof UrlBasedPluginSchema; declare const index$1_mapping: typeof mapping; declare const index$1_settings: typeof settings; declare namespace index$1 { export { type index$1_ActivityTracking as ActivityTracking, index$1_ActivityTrackingSchema as ActivityTrackingSchema, type index$1_Mapping as Mapping, index$1_MappingSchema as MappingSchema, type index$1_Settings as Settings, index$1_SettingsSchema as SettingsSchema, type index$1_SnowplowMappingSettings as SnowplowMappingSettings, type index$1_SnowplowSettings as SnowplowSettings, type index$1_TrackerContexts as TrackerContexts, index$1_TrackerContextsSchema as TrackerContextsSchema, type index$1_UrlBasedPlugin as UrlBasedPlugin, index$1_UrlBasedPluginSchema as UrlBasedPluginSchema, index$1_mapping as mapping, index$1_settings as settings }; } declare global { interface Window { snowplow?: SnowplowFunction; GlobalSnowplowNamespace?: string[]; } } interface SnowplowFunction { (...args: unknown[]): void; q?: unknown[]; } /** * Environment dependencies for Snowplow destination */ interface Env extends DestinationWeb.Env { window: { snowplow?: SnowplowFunction; }; } declare const init$1: Env | undefined; declare const push: Env; declare const simulation: string[]; declare const env_push: typeof push; declare const env_simulation: typeof simulation; declare namespace env { export { init$1 as init, env_push as push, env_simulation as simulation }; } /** * Destination bootstrap. * Given the canonical settings, init sets up the Snowplow queue and creates * a tracker pointed at the collector URL. Reproduce by passing the same * settings to `startFlow` as the destination config. */ declare const init: Flow.StepExample; declare const productView: Flow.StepExample; declare const addToCart: Flow.StepExample; declare const transaction: Flow.StepExample; declare const promoView: Flow.StepExample; declare const pageView: Flow.StepExample; declare const checkoutStep: Flow.StepExample; declare const structuredEvent: Flow.StepExample; declare const contextLoop: Flow.StepExample; declare const step_addToCart: typeof addToCart; declare const step_checkoutStep: typeof checkoutStep; declare const step_contextLoop: typeof contextLoop; declare const step_init: typeof init; declare const step_pageView: typeof pageView; declare const step_productView: typeof productView; declare const step_promoView: typeof promoView; declare const step_structuredEvent: typeof structuredEvent; declare const step_transaction: typeof transaction; declare namespace step { export { step_addToCart as addToCart, step_checkoutStep as checkoutStep, step_contextLoop as contextLoop, step_init as init, step_pageView as pageView, step_productView as productView, step_promoView as promoView, step_structuredEvent as structuredEvent, step_transaction as transaction }; } declare const index_env: typeof env; declare const index_step: typeof step; declare namespace index { export { index_env as env, index_step as step }; } export { index as examples, index$1 as schemas };