import { CdkScrollable, ScrollDispatcher } from '@angular/cdk/scrolling'; import { Subscription } from 'rxjs'; /** * Define a interface to guarantee a subscription instance to be managed * in seupScrollSubscription. */ export interface Scrollable { /** * The subscription for *Scrolldispatcher.scrolled* method call. */ scrolledSubs: Subscription; } export declare type Edge = 'top' | 'left' | 'right' | 'bottom' | 'start' | 'end'; /** * Setups a new scroll subscription, also unsubscribe from previous subscriptions * if needed. * * @param activate indicates if a new subscription must be created * @param componentRef a **scrollable** component that implements `Scrollable` interface * @param scrollDispatcher the responsible to listen for scroll events * @param windowScrollFn a callback for scroll subscription */ export declare const setupScrollSubscription: (activate: boolean, componentRef: C, scrollDispatcher: ScrollDispatcher, windowScrollFn: Function) => void; /** * A interface to provide information about the last scroll event received. */ export interface ScrollInfo { /** * How many pixels was scrolled. */ offset: number; /** * Indicates that the scroll was detected. */ scrolled: boolean; } export declare const onWindowScroll: (event: CdkScrollable, edge?: "left" | "right" | "start" | "end" | "top" | "bottom", previousScroll?: number, minDif?: number, departureOffset?: number, returnOffset?: number) => ScrollInfo;