import { OnInit, OnDestroy, NgZone } from '@angular/core'; import { Directionality } from '@angular/cdk/bidi'; import { Observable, Subject, Subscription } from 'rxjs'; import { NgScrollbar } from '../ng-scrollbar'; import * as i0 from "@angular/core"; type ElementEvent = Event & { target: Element; }; declare abstract class ScrollReached implements OnDestroy { protected scrollbar: NgScrollbar; protected zone: NgZone; /** offset: Reached offset value in px */ offset: number; /** * Stream that emits scroll event when `NgScrollbar.scrolled` is initialized. * * **NOTE:** This subject is used to hold the place of `NgScrollbar.scrolled` when it's not initialized yet */ protected scrollEvent: Subject; /** subscription: Scrolled event subscription, used to unsubscribe from the event on destroy */ protected subscription: Subscription; /** A stream used to assign the reached output */ protected reachedEvent: Observable; protected constructor(scrollbar: NgScrollbar, zone: NgZone); ngOnDestroy(): void; protected scrollReached(): Observable; protected abstract reached(offset: number, e?: ElementEvent): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare abstract class VerticalScrollReached extends ScrollReached implements OnInit { protected scrollbar: NgScrollbar; protected zone: NgZone; protected constructor(scrollbar: NgScrollbar, zone: NgZone); ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare abstract class HorizontalScrollReached extends ScrollReached implements OnInit { protected scrollbar: NgScrollbar; protected zone: NgZone; protected constructor(scrollbar: NgScrollbar, zone: NgZone); ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class NgScrollbarReachedTop extends VerticalScrollReached implements OnInit { protected scrollbar: NgScrollbar; protected zone: NgZone; /** Stream that emits when scroll has reached the top */ reachedTop: Observable; constructor(scrollbar: NgScrollbar, zone: NgZone); ngOnInit(): void; /** * Check if scroll has reached the top (vertically) * @param offset Scroll offset * @param e Scroll event */ protected reached(offset: number, e: ElementEvent): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class NgScrollbarReachedBottom extends VerticalScrollReached implements OnInit { protected scrollbar: NgScrollbar; protected zone: NgZone; /** Stream that emits when scroll has reached the bottom */ reachedBottom: Observable; constructor(scrollbar: NgScrollbar, zone: NgZone); ngOnInit(): void; /** * Check if scroll has reached the bottom (vertically) * @param offset Scroll offset * @param e Scroll event */ protected reached(offset: number, e: ElementEvent): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class NgScrollbarReachedStart extends HorizontalScrollReached implements OnInit { protected scrollbar: NgScrollbar; protected zone: NgZone; private dir; /** Stream that emits when scroll has reached the start */ reachedStart: Observable; constructor(scrollbar: NgScrollbar, zone: NgZone, dir: Directionality); ngOnInit(): void; /** * Check if scroll has reached the start (horizontally) * @param offset Scroll offset * @param e Scroll event */ protected reached(offset: number, e: ElementEvent): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class NgScrollbarReachedEnd extends HorizontalScrollReached implements OnInit { protected scrollbar: NgScrollbar; protected zone: NgZone; private dir; /** Stream that emits when scroll has reached the end */ reachedEnd: Observable; constructor(scrollbar: NgScrollbar, zone: NgZone, dir: Directionality); ngOnInit(): void; /** * Check if scroll has reached the end (horizontally) * @param offset Scroll offset * @param e Scroll event */ protected reached(offset: number, e: ElementEvent): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export {};