type Matomo = (string | number | boolean | Document | Element | ((this: Record() => T>) => void))[]; declare global { interface Window { _paq?: Matomo[]; _mtm?: Record[]; _mtdsTracking?: AnalyticsActions["init"]; _mtdsUntrack?: () => void; } } export type AnalyticsActions = { init: { enabled?: boolean | "debug"; consent?: "custom" | true; } & ({ matomoId: number | string; matomoTagManagerId?: never; } | { matomoId?: number | string; matomoTagManagerId: string; }); pageview: { url?: string; title?: string; }; event: { category: string; action: string; name?: string; value?: number; }; search: { query: string; category?: string; results?: number; }; matomo: Matomo; }; export declare function analytics(action: Action, args?: AnalyticsActions[Action]): void; export {};