import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * Directive to listen for scroll events on a virtual scroll container.
 * Emits `scrolled` and `scrolledToTop` events.
 *
 * The directive listens for scroll events on a virtual scroll container.
 * - When the container is scrolled by at least 50 pixels (or a custom threshold), the `scrolled` event is emitted.
 * - When the container is scrolled to the top, the `scrolledToTop` event is emitted.
 *
 */
export declare class VirtualScrollListenerDirective implements AfterViewInit, OnDestroy {
    private el;
    private ngZone;
    /**
     * Pixel threshold for emitting the scrolled event.
     */
    scrollThreshold: number;
    /**
     * Event emitted when the virtual scroll container is scrolled by at least 50 pixels.
     */
    scrolled: EventEmitter<void>;
    /**
     * Event emitted when the virtual scroll container is scrolled to the top.
     */
    scrolledToTop: EventEmitter<void>;
    private virtualScrollContainer;
    private lastScrollTop;
    constructor(el: ElementRef, ngZone: NgZone);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Handles the scroll event. Emits `scrolled` event if scrolled by at least `scrollThreshold` pixels
     * and `scrolledToTop` event if scrolled to the top.
     * @param event - The scroll event.
     */
    private onScroll;
    static ɵfac: i0.ɵɵFactoryDeclaration<VirtualScrollListenerDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<VirtualScrollListenerDirective, "[c8yVirtualScrollListener]", never, { "scrollThreshold": { "alias": "scrollThreshold"; "required": false; }; }, { "scrolled": "scrolled"; "scrolledToTop": "scrolledToTop"; }, never, never, true, never>;
}
//# sourceMappingURL=virtual-scroll-listener.directive.d.ts.map