import { a as Plugin, b as PluginArguments } from '../../plug-CPsFBGem.cjs';
import { TrackerFacade } from '@croct/sdk/facade/trackerFacade';
import { Tab } from '@croct/sdk/tab';
import '@croct/sdk/facade/sessionFacade';
import '@croct/sdk/facade/userFacade';
import '@croct/sdk/facade/evaluatorFacade';
import '@croct/sdk/facade/sdkFacade';
import '@croct/sdk/utilityTypes';
import '@croct/sdk/trackingEvents';
import '@croct/sdk/facade/contentFetcherFacade';
import '@croct/sdk/contentFetcher';
import '@croct/sdk/token';
import '../../sdk/index.cjs';
import '@croct/sdk/eventManager';
import '@croct/sdk/sdkEvents';
import '@croct/sdk/logging';
import '@croct/sdk/cid';
import '../../slot.cjs';
import '@croct/json';
import '../../versioning.cjs';
import '../../component.cjs';
import '@croct/json/mutable';

type Configuration = {
    tab: Tab;
    tracker: TrackerFacade;
    options?: Options;
};
type Options = {
    disablePostViewed?: boolean;
    disableProductViewed?: boolean;
    disableLinkOpened?: boolean;
};
declare class AutoTrackingPlugin implements Plugin {
    private readonly tab;
    private readonly tracker;
    private readonly options?;
    private scanTimeout;
    constructor(configuration: Configuration);
    private isDisabled;
    enable(): void;
    disable(): void;
    private handleUrlChange;
    private trackStructuredData;
    private trackPostViewed;
    private trackProductViewed;
    private trackLinkOpened;
    private static truncate;
    private static clean;
}
declare const factory: (props: PluginArguments<Options>) => AutoTrackingPlugin;

export { AutoTrackingPlugin, type Configuration, type Options, factory };
