import { Ad } from './models/ads'; import { AdsEventReporterOptions } from './analytics/AdsEventReporter'; export interface AdsPlayerEvents { adStart: () => void; adEnd: () => void; adProgress: (progress: { currentTime: number; duration: number; }) => void; adError: (error: Error) => void; adPause: () => void; adResume: () => void; adSkip: () => void; adClick: () => void; firstQuartile: () => void; secondQuartile: () => void; thirdQuartile: () => void; } export declare class AdsPlayer { private container; private videoElement; private player; private ad?; private overlay; private eventReporter?; private eventListeners; private progressTimer?; private quartilesFired; constructor(container: HTMLElement); private setupVideoElement; private configureShakaPlayer; private setupShakaEvents; private setupVideoEvents; private setupOverlayEvents; private startProgressTracking; private stopProgressTracking; private checkQuartileEvents; private resetQuartileTracking; /** * Initialize the ads event reporter for tracking */ initializeEventReporter(options: AdsEventReporterOptions): void; loadAd(ad: Ad): Promise; play(): Promise; pause(): void; skip(): void; stop(): void; setVolume(volume: number): void; getVolume(): number; setMuted(muted: boolean): void; isMuted(): boolean; getCurrentTime(): number; getDuration(): number; getAd(): Ad | undefined; show(): void; hide(): void; on(event: K, callback: AdsPlayerEvents[K]): void; off(event: K, callback: AdsPlayerEvents[K]): void; private emit; destroy(): void; } //# sourceMappingURL=AdsPlayer.d.ts.map