import { PostHog } from '../../posthog-core';
import { ProductTour, ProductTourCallback, ProductTourDismissReason, ProductTourRenderReason, ShowTourOptions } from '../../posthog-product-tours-types';
export declare class ProductTourManager {
    private _instance;
    private _activeTour;
    private _currentStepIndex;
    private _isPreviewMode;
    private _isResuming;
    private _checkInterval;
    private _triggerSelectorListeners;
    private _pendingTourTimeouts;
    private _eventReceiver;
    private _registeredEventTourIds;
    private _preloadedImageUrls;
    constructor(instance: PostHog);
    private _preloadTourImages;
    private _getCurrentStep;
    private _setStepIndex;
    private _saveSessionState;
    private _clearSessionState;
    private _getSessionState;
    start(): void;
    private _startEvaluationLoop;
    private _resumeSavedTour;
    stop(): void;
    private _handleVisibilityChange;
    private _evaluateAndDisplayTours;
    private _showOrQueueTour;
    private _isTourEligible;
    showTour(tour: ProductTour, options?: ShowTourOptions): boolean;
    showTourById(tourId: string, reason?: ProductTourRenderReason): void;
    previewTour(tour: ProductTour): void;
    nextStep: () => void;
    previousStep: () => void;
    dismissTour: (reason?: ProductTourDismissReason) => void;
    private _handleButtonClick;
    private _completeTour;
    private _renderCurrentStep;
    private _renderTooltipWithPreact;
    private _renderBanner;
    private _renderSurveyStep;
    private _isProductToursFeatureFlagEnabled;
    private _cleanup;
    private _manageTriggerSelectorListener;
    private _removeTriggerSelectorListener;
    private _removeAllTriggerListeners;
    private _captureEvent;
    private _captureStepShown;
    private _captureStepSelectorFailed;
    getActiveProductTours(callback: ProductTourCallback): void;
    resetTour(tourId: string): void;
    resetAllTours(): void;
    cancelPendingTour(tourId: string): void;
    private _cancelAllPendingTours;
    isTourPending(tourId: string): boolean;
    queueTourWithDelay(tourId: string, delaySeconds: number, reason?: ProductTourRenderReason): void;
}
