import type { UDevice, Resource } from '../../types'; import { Ad } from '../models/ads'; export interface AdsEventReporterOptions { host: string; appVersion: string; pb_id: string; stream_code: string; resource: Resource; appId: string; sid: string; edge_id: string; device: UDevice; userContext?: Record; } export type AdsEventName = 'createView' | 'start' | 'firstQuartile' | 'midPoint' | 'thirdQuartile' | 'complete' | 'skip' | 'click' | 'error'; export declare class AdsEventReporter { private context; private ref; constructor(options: AdsEventReporterOptions); /** * Report an ads event immediately to the server */ reportEvent(eventName: AdsEventName, ad: Ad, additionalData?: Record): Promise; /** * Report quartile event with progress information */ reportQuartileEvent(quartile: 'first' | 'mid' | 'third', ad: Ad, currentTime: number, duration: number): Promise; /** * Report ad completion event */ reportCompletionEvent(ad: Ad, duration: number, wasSkipped?: boolean): Promise; /** * Report ad click event with click-through information */ reportClickEvent(ad: Ad, clickThroughUrl?: string): Promise; /** * Report ad error event */ reportErrorEvent(ad: Ad, error: Error, currentTime?: number): Promise; /** * Report ad view creation event (when ad is initially loaded/displayed) */ reportCreateViewEvent(ad: Ad): Promise; /** * Report ad start event (when ad playback begins) */ reportStartEvent(ad: Ad): Promise; /** * Send individual event to server immediately */ private sendEvent; private getDocumentReferer; /** * No periodic flushing needed - events are sent immediately * This method exists for API compatibility but does nothing */ destroy(): void; } //# sourceMappingURL=AdsEventReporter.d.ts.map