import { IntegrationElement } from '@turbo-player/integration-web-component'; import { IntegrationElementEventMap } from '@turbo-player/integration-web-component'; import NpawPlugin from 'npaw-plugin'; declare type AdapterEventListeners = { [K in keyof IntegrationElementEventMap]?: (event: IntegrationElementEventMap[K]) => void; }; declare type AdapterEventListeners_2 = { [K in keyof IntegrationElementEventMap]?: (event: IntegrationElementEventMap[K]) => void; }; /** * Connects NPAW analytics integration to a turbo player integration * * @param integration - The integration element * @param options - NPAW configuration options * @returns The NPAW plugin instance and a destroy function */ export declare function connectToNpaw(integration: IntegrationElement, options: NpawIntegrationOptions): { npawPlugin: NpawPlugin; destroy(): void; }; export declare interface NpawIntegrationOptions { /** * NPAW account code */ accountCode: string; /** * Application name for analytics, defaults to `integration.hostContext.get('appName')` * @example 'my-app' */ appName?: string; /** * Application release version, defaults to `integration.hostContext.get('appVersion')` * @example '1.0.0' */ appVersion?: string; } declare class NpawTurboPlayerAdAdapter { _refs?: AdapterEventListeners_2; getVersion(): string; getPlayerVersion(): string; getPlayhead(): number; getTitle(): string; getTitle2(): string | undefined; getCreativeId(): string | null; getProvider(): string | null; getAdInsertionType(): string; getDuration(): number | null; getBreaksTime(): null; getResource(): string; getGivenAds(): number | null; getAudioEnabled(): boolean; getIsSkippable(): boolean; getIsFullscreen(): boolean; getIsVisible(): boolean; getPosition(): string | null; registerListeners(): void; unregisterListeners(): void; _isSupportedAd(): boolean; impressionListener(): void; pausedListener(): void; resumedListener(): void; bufferingStartListener(): void; bufferingEndListener(): void; completeListener(): void; clickListener(): void; skippedListener(): void; errorListener(event: IntegrationElementEventMap['aderror']): void; } export declare class NpawTurboPlayerAdapter { _refs?: AdapterEventListeners; adsAdapters: { npawTurboPlayerAdAdapter: typeof NpawTurboPlayerAdAdapter; }; getPlayerName(): string; getVersion(): string; getPlayerVersion(): string; getResource(): string | null; getTitle(): string | null; getDuration(): number; getPlayhead(): number; getPlayrate(): number; getIsLive(): boolean; getBitrate(): number | null; getLatency(): number | undefined; getRendition(): string; getThroughput(): number | undefined; getDroppedFrames(): number | undefined; getTotalBytes(): number | null; registerListeners(): void; unregisterListeners(): void; contentStart(): void; contentImpression(): void; playListener(): void; pauseListener(): void; seekingListener(): void; seekedListener(): void; contentBufferStart(): void; contentBufferEnd(): void; contentStop(): void; contentSuspend(): void; contentSelect(): void; contentError(event: IntegrationElementEventMap['contenterror']): void; } export { }