@benshi.ai/js-sdk
Version:
Benshi SDK
27 lines (26 loc) • 1.11 kB
TypeScript
/// <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;