import { DestinationWeb } from '@walkeros/web-core'; import { Flow } from '@walkeros/core'; declare global { interface Window { _paq?: Array; } } interface Env extends DestinationWeb.Env { window: { _paq: Array; location?: { href?: string; }; }; document: { createElement: (tagName: string) => { type: string; src: string; async?: boolean; defer?: boolean; }; head: { appendChild: (node: unknown) => void; }; }; } /** * Example environment configurations for Matomo destination. * Mocks the _paq command queue and DOM elements for testing * without requiring real browser or network. */ declare const init$1: Env | undefined; declare const push: Env; /** * Simulation tracking paths. * Specifies which function calls to track during simulation. */ 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 loads the Matomo script and configures * the tracker URL, site ID, and link tracking. Reproduce by passing the same * settings to `startFlow` as the destination config. */ declare const init: Flow.StepExample; /** * Default page view -- no mapping name needed. * Destination auto-calls trackPageView with the page title. */ declare const pageView: Flow.StepExample; /** * Custom event tracking with goal conversion. * Uses trackEvent with mapped name, followed by trackGoal. */ declare const customEvent: Flow.StepExample; /** * Ecommerce order -- one call with cart items array and order totals. */ declare const ecommerceOrder: Flow.StepExample; /** * Ecommerce cart update -- addEcommerceItem per nested product, * then trackEcommerceCartUpdate with cart total. */ declare const ecommerceCartUpdate: Flow.StepExample; /** * Product detail view -- setEcommerceView equivalent with a single product array. */ declare const productDetailView: Flow.StepExample; /** * Site search -- trackSiteSearch with keyword, category, result count. */ declare const siteSearch: Flow.StepExample; /** * Goal tracking alongside a tracked event. * Uses a known fixture event (promotion visible) so data paths resolve. */ declare const goalTracking: Flow.StepExample; declare const step_customEvent: typeof customEvent; declare const step_ecommerceCartUpdate: typeof ecommerceCartUpdate; declare const step_ecommerceOrder: typeof ecommerceOrder; declare const step_goalTracking: typeof goalTracking; declare const step_init: typeof init; declare const step_pageView: typeof pageView; declare const step_productDetailView: typeof productDetailView; declare const step_siteSearch: typeof siteSearch; declare namespace step { export { step_customEvent as customEvent, step_ecommerceCartUpdate as ecommerceCartUpdate, step_ecommerceOrder as ecommerceOrder, step_goalTracking as goalTracking, step_init as init, step_pageView as pageView, step_productDetailView as productDetailView, step_siteSearch as siteSearch }; } export { env, step };