import { BaseUser } from '@igo2/core/user';
import * as i0 from '@angular/core';

type AnalyticsProvider = 'matomo';
interface AnalyticsOptions {
    provider?: AnalyticsProvider;
    url?: string;
    id?: string;
}
interface AnalyticsBaseUser extends BaseUser {
    sourceId?: string | number;
}

declare class AnalyticsService {
    private config;
    private options;
    get paq(): any;
    constructor();
    private initMatomo;
    /**
     * Pass `null` to unset the user.
     */
    setUser(user: AnalyticsBaseUser | null, profils?: string[]): void;
    trackSearch(term: string, nbResults: number): void;
    trackEvent(category: string, action: string, name: string): void;
    /**
     * Function that tracks layers added to the map
     */
    trackLayer(category: string, action: string, parameters: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsService>;
}

export { AnalyticsService };
export type { AnalyticsBaseUser, AnalyticsOptions, AnalyticsProvider };
