UNPKG

@benshi.ai/js-sdk

Version:

Benshi SDK

27 lines (26 loc) 1.11 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { Dataset } from './typings'; export declare enum ImpressionObservedTypes { View = "view", Hide = "hide" } declare interface BsViewableImpressionObserver { on<U extends keyof BsViewableImpressionObserverEvents>(event: U, listener: BsViewableImpressionObserverEvents[U]): this; emit<U extends keyof BsViewableImpressionObserverEvents>(event: U, ...args: Parameters<BsViewableImpressionObserverEvents[U]>): boolean; } interface BsViewableImpressionObserverEvents { [ImpressionObservedTypes.View]: (id: string, item: Dataset) => void; [ImpressionObservedTypes.Hide]: (id: string) => void; } declare class BsViewableImpressionObserver extends EventEmitter { private mutationObserver; private intersectionObserver; private containerSelector; private itemSelector; constructor(intersectionThreshold: number); intersectionHandler(entries: any, observer: any): void; start(containerClassname: any, itemClassname: any): void; stop(): void; } export default BsViewableImpressionObserver;