import { AbstractAnalyticsTracker, IEventTrackingPayload, IPageViewTrackingPayload, ITimingTrackingPayload } from "./tracker"; import { IMatomoOptions } from "./mamotoTypes"; /** * Implementation of matomo tracker using a dynamically loaded snippet. * * For JavaScript API see here: https://developer.matomo.org/guides/tracking-javascript-guide * * Matomo supports up to 5 custom variables in each 'visit' and 'page scope: * - The tracker sets visit-scope custom variables DeploymentId and OrganizationId at the beginning and * never touches them * * - The tracker clears page-scope custom variables before any interaction. In a followup different pages/events * will send additional custom 'page' scope variables depending on the event context. */ export declare class MatomoTracker extends AbstractAnalyticsTracker { private readonly options; private readonly matomoFun; constructor(options: IMatomoOptions, matomoFun?: (cmd: string, parameters: any[]) => void); initialize(): Promise; trackEvent: (payload: IEventTrackingPayload) => void; trackPageView: (payload: IPageViewTrackingPayload) => void; trackTiming: (_payload: ITimingTrackingPayload) => void; private matomoCall; private initializePaq; private loadScriptIfNeeded; private clearPageVariables; }