import { ExperimentAnalyticsEvent, ExperimentAnalyticsProvider } from '../types/analytics';
/**
 * A wrapper for an analytics provider which only sends one exposure event per
 * flag, per variant, per session. In other words, wrapping an analytics
 * provider in this class will prevent the same exposure event to be sent twice
 * in one session.
 */
export declare class SessionAnalyticsProvider implements ExperimentAnalyticsProvider {
    private readonly analyticsProvider;
    private readonly setProperties;
    private readonly unsetProperties;
    constructor(analyticsProvider: ExperimentAnalyticsProvider);
    track(event: ExperimentAnalyticsEvent): void;
    setUserProperty?(event: ExperimentAnalyticsEvent): void;
    unsetUserProperty?(event: ExperimentAnalyticsEvent): void;
}
