import { PostHog } from './module';
import { DeadClicksAutoCaptureConfig } from '@posthog/types';

interface LazyLoadedDeadClicksAutocaptureInterface {
    start: (observerTarget: Node) => void;
    stop: () => void;
}

declare class LazyLoadedDeadClicksAutocapture implements LazyLoadedDeadClicksAutocaptureInterface {
    readonly instance: PostHog;
    private _mutationObserver;
    private _lastMutation;
    private _lastScroll;
    private _lastSelectionChanged;
    private _lastVisibilityChange;
    private _lastFocusChange;
    private _clicks;
    private _checkClickTimer;
    private _touchStart;
    private _deadSwipesCaptured;
    private _hasUnobservableSurfaces;
    private _surfacesCheckedAt;
    private _config;
    private _onCapture;
    private _defaultConfig;
    private _asRequiredConfig;
    constructor(instance: PostHog, config?: DeadClicksAutoCaptureConfig);
    start(observerTarget: Node): void;
    private _startMutationObserver;
    stop(): void;
    private _onMutation;
    private _startClickObserver;
    private _onClick;
    private _queueCandidate;
    private _scheduleCheck;
    private _startScrollObserver;
    private _onScroll;
    private _startSelectionChangedObserver;
    private _onSelectionChange;
    private _startVisibilityChangeObserver;
    private _onVisibilityChange;
    private _startFocusChangeObserver;
    private _onFocusChange;
    private _recordLivenessSignal;
    private _startSwipeObserver;
    private _onTouchStart;
    private _onTouchCancel;
    private _onTouchEnd;
    private _pageHasUnobservableSurfaces;
    private _ignore;
    private _ignoreCommon;
    private _ignoreClick;
    private _checkClicks;
    private _captureDeadClick;
}

export { LazyLoadedDeadClicksAutocapture as default };
