import { PlayerEmbed } from '../..';
import { ReactiveController, ReactiveControllerHost } from 'lit';

type PlayerEmbedHost = ReactiveControllerHost & PlayerEmbed;
type TrackingEvent = 'VOUCH_LOADED' | 'VOUCH_RESPONSE_VIEWED' | 'VIDEO_PLAYED' | 'VIDEO_STREAMED';
type TrackingPayload = {
    vouchId?: string;
    answerId?: string;
    streamStart?: number;
    streamEnd?: number;
    senderId?: string;
};
declare class TrackingController implements ReactiveController {
    host: PlayerEmbedHost;
    private _batchedEvents;
    private _hasPlayed;
    private _hasLoaded;
    private _answersViewed;
    private _streamStartTime;
    private _streamLatestTime;
    private _currentlyPlayingVideo;
    constructor(host: PlayerEmbedHost);
    private _createTrackingEvent;
    private _sendTrackingEvent;
    private _streamEnded;
    private _handleVouchLoaded;
    private _handlePlay;
    private _handleVideoPlay;
    private _handleVideoTimeUpdate;
    private _handleVideoPause;
    private _pageUnloading;
    private _handleVisibilityChange;
    private _handlePageHide;
    hostConnected(): void;
    hostDisconnected(): void;
}
export { TrackingController };
export type { TrackingEvent, TrackingPayload };
