///
import { EventEmitter } from 'events';
import { Dataset } from './typings';
export declare enum ImpressionObservedTypes {
View = "view",
Hide = "hide"
}
declare interface BsViewableImpressionObserver {
on(event: U, listener: BsViewableImpressionObserverEvents[U]): this;
emit(event: U, ...args: Parameters): 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;