import { Exposure, ExposureTrackingProvider } from '../types/exposure';
import { ExperimentUser } from '../types/user';
/**
 * A wrapper for an exposure tracking provider which only sends one exposure event per
 * flag, per variant, per user session. When the user identity (userId or deviceId) changes,
 * the tracking cache is reset to ensure exposures are tracked for the new user session.
 */
export declare class UserSessionExposureTracker {
    private readonly exposureTrackingProvider;
    private tracked;
    private identity;
    constructor(exposureTrackingProvider: ExposureTrackingProvider);
    track(exposure: Exposure, user?: ExperimentUser): void;
    private identityEquals;
}
