UNPKG

ngx-matomo-client

Version:

Matomo (fka. Piwik) client for Angular applications

26 lines (25 loc) 1.63 kB
import { Getters, NonEmptyArray, PrefixedType } from '../utils/types'; import * as i0 from "@angular/core"; type ReturnType<T> = T extends (...args: any) => infer R ? R : any; export type InternalMatomoTrackerType = Pick<InternalMatomoTracker<unknown, string>, 'get' | 'push' | 'pushFn'>; export declare function createInternalMatomoTracker(): InternalMatomoTrackerType; export declare class InternalMatomoTracker<MATOMO, PREFIX extends string = ''> { private readonly ngZone; private readonly config; constructor(); /** Asynchronously call provided method name on matomo tracker instance */ get<K extends Getters<PrefixedType<MATOMO, PREFIX>>>(getter: K extends keyof PrefixedType<MATOMO, PREFIX> ? K : never): Promise<ReturnType<PrefixedType<MATOMO, PREFIX>[K]>>; pushFn<T>(fn: (matomo: PrefixedType<MATOMO, PREFIX>) => T): Promise<T>; push(args: NonEmptyArray<unknown>): void; static ɵfac: i0.ɵɵFactoryDeclaration<InternalMatomoTracker<any, any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<InternalMatomoTracker<any, any>>; } export declare class NoopMatomoTracker<MATOMO = unknown, PREFIX extends string = ''> implements InternalMatomoTrackerType { /** Asynchronously call provided method name on matomo tracker instance */ get<K extends keyof PrefixedType<MATOMO, PREFIX>>(_: K): Promise<never>; push(_: unknown[]): void; pushFn<T>(_: (matomo: PrefixedType<MATOMO, PREFIX>) => T): Promise<T>; static ɵfac: i0.ɵɵFactoryDeclaration<NoopMatomoTracker<any, any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<NoopMatomoTracker<any, any>>; } export {};