vp-outstream-player
Version:
Outstream video player with Google IMA integration
86 lines (76 loc) • 1.82 kB
TypeScript
// src/google-ima.d.ts
export {};
declare global {
namespace google {
namespace ima {
class AdErrorEvent {
static Type: {
AD_ERROR: string;
};
getError(): any;
}
class AdEvent {
static Type: {
LOADED: string;
STARTED: string;
COMPLETE: string;
// ...
};
getAd(): any;
getAdData(): any;
}
class AdsManagerLoadedEvent {
static Type: {
ADS_MANAGER_LOADED: string;
};
getAdsManager(
contentPlayback?: HTMLMediaElement | null,
adsRenderingSettings?: object
): AdsManager;
}
class AdDisplayContainer {
constructor(adContainerElement: HTMLElement);
initialize(): void;
destroy(): void;
getContentContainer(): HTMLElement;
}
class AdsLoader {
constructor(adDisplayContainer: AdDisplayContainer);
addEventListener<T>(eventType: string, listener: (event: T) => void): void;
requestAds(adsRequest: AdsRequest): void;
destroy(): void;
}
class AdsManager {
init(width: number, height: number, viewMode: ViewMode): void;
start(): void;
setVolume(volume: number): void;
getVolume(): number;
pause(): void;
resume(): void;
skip(): void;
getAdSkippableState(): boolean;
destroy(): void;
addEventListener<T>(eventType: string, listener: (event: T) => void): void;
}
class AdsRequest {
adTagUrl?: string;
linearAdSlotWidth?: number;
linearAdSlotHeight?: number;
nonLinearAdSlotWidth?: number;
nonLinearAdSlotHeight?: number;
setAdWillPlayMuted(muted: boolean): void;
}
class AdData {
adBreakDuration: number;
adPosition: number;
currentTime: number;
duration: number;
totalAds: number;
}
enum ViewMode {
NORMAL = "normal",
FULLSCREEN = "fullscreen",
}
}
}
}