import type { APIOptions, Tracking } from "./types";
/**
 * Wrapper for the trackInteraction apiOption.
 */
declare class InteractionTracker<T> {
    _tracked: boolean;
    setting: Tracking;
    track: (extraData?: T) => void;
    trackApi: any;
    widgetID: string;
    widgetType: string;
    constructor(trackApi: APIOptions["trackInteraction"], widgetType: string, widgetID: string, setting: Tracking);
    /**
     * Function that actually calls the API to mark the interaction. This is
     * private. The public version is just `.track` and is bound to this object
     * for easy use in other context.
     *
     * @param extraData Any extra data to track about the event.
     * @private
     */
    _track: (extraData: T) => void;
}
export default InteractionTracker;
