import { PublicInterface } from '../utils/types';
import { AutoMatomoConfiguration } from './configuration';
import * as i0 from "@angular/core";
export declare function createMatomoInitializer(): PublicInterface<MatomoInitializerService>;
export declare class NoopMatomoInitializer implements PublicInterface<MatomoInitializerService> {
    initialize(): void;
    init(): void;
    initializeTracker(_: AutoMatomoConfiguration<'deferred'>): void;
}
export declare class MatomoInitializerService {
    private readonly config;
    private readonly deferredConfig;
    private readonly tracker;
    private readonly scriptInjector;
    constructor();
    /** @deprecated Will be removed in v7+. Use {@link initialize initialize()} instead. */
    init(): void;
    readonly initialize: () => void;
    initializeTracker(config: AutoMatomoConfiguration<'deferred'>): void;
    private readonly injectMatomoScript;
    private registerMainTracker;
    private registerAdditionalTrackers;
    private runPreInitTasks;
    static ɵfac: i0.ɵɵFactoryDeclaration<MatomoInitializerService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MatomoInitializerService>;
}
