{"version":3,"file":"scroll-dispatcher.d.ts","sources":["scroll-dispatcher.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { Platform } from '@angular/cdk/platform';\nimport { ElementRef, NgZone, OnDestroy } from '@angular/core';\nimport { Subscription, Observable } from 'rxjs';\nimport { CdkScrollable } from './scrollable';\n/** Time in ms to throttle the scrolling events by default. */\nexport declare const DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nexport declare class ScrollDispatcher implements OnDestroy {\n    private _ngZone;\n    private _platform;\n    /** Used to reference correct document/window */\n    protected _document: Document;\n    constructor(_ngZone: NgZone, _platform: Platform, document: any);\n    /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n    private readonly _scrolled;\n    /** Keeps track of the global `scroll` and `resize` subscriptions. */\n    _globalSubscription: Subscription | null;\n    /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n    private _scrolledCount;\n    /**\n     * Map of all the scrollable references that are registered with the service and their\n     * scroll event subscriptions.\n     */\n    scrollContainers: Map<CdkScrollable, Subscription>;\n    /**\n     * Registers a scrollable instance with the service and listens for its scrolled events. When the\n     * scrollable is scrolled, the service emits the event to its scrolled observable.\n     * @param scrollable Scrollable instance to be registered.\n     */\n    register(scrollable: CdkScrollable): void;\n    /**\n     * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n     * @param scrollable Scrollable instance to be deregistered.\n     */\n    deregister(scrollable: CdkScrollable): void;\n    /**\n     * Returns an observable that emits an event whenever any of the registered Scrollable\n     * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n     * to override the default \"throttle\" time.\n     *\n     * **Note:** in order to avoid hitting change detection for every scroll event,\n     * all of the events emitted from this stream will be run outside the Angular zone.\n     * If you need to update any data bindings as a result of a scroll event, you have\n     * to run the callback using `NgZone.run`.\n     */\n    scrolled(auditTimeInMs?: number): Observable<CdkScrollable | void>;\n    ngOnDestroy(): void;\n    /**\n     * Returns an observable that emits whenever any of the\n     * scrollable ancestors of an element are scrolled.\n     * @param elementOrElementRef Element whose ancestors to listen for.\n     * @param auditTimeInMs Time to throttle the scroll events.\n     */\n    ancestorScrolled(elementOrElementRef: ElementRef | HTMLElement, auditTimeInMs?: number): Observable<CdkScrollable | void>;\n    /** Returns all registered Scrollables that contain the provided element. */\n    getAncestorScrollContainers(elementOrElementRef: ElementRef | HTMLElement): CdkScrollable[];\n    /** Use defaultView of injected document if available or fallback to global window reference */\n    private _getWindow;\n    /** Returns true if the element is contained within the provided Scrollable. */\n    private _scrollableContainsElement;\n    /** Sets up the global scroll listeners. */\n    private _addGlobalListener;\n    /** Cleans up the global scroll listener. */\n    private _removeGlobalListener;\n}\n"]}