import type { WebsiteTrackingContext } from "./index.ts"; import type { PushQueueItem, TrackEventMethods } from "./matomo/types.ts"; type MatomoTracker = { [K in TrackEventMethods]: (...args: unknown[]) => void; } & { setCustomDimension: (id: string, value?: string) => void; deleteCustomDimension: (id: string) => void; }; declare global { interface Window { _paq: PushQueueItem[]; _trkPaq: { trackerUrl: string; siteId: string; eventName: TrackEventMethods; eventArguments: (string | number)[]; context: WebsiteTrackingContext; }[]; Matomo: { getTracker: (trackerUrl: string, siteId: string) => MatomoTracker; }; } // Also expose on globalThis for portability (globalThis === window in browsers) var _paq: Window["_paq"]; var _trkPaq: Window["_trkPaq"]; var Matomo: Window["Matomo"]; } export {};