@angular/cdk
Version:
Angular Material Component Development Kit
552 lines (539 loc) • 27.8 kB
TypeScript
import * as i0 from '@angular/core';
import { OnDestroy, ElementRef, OnInit, NgZone, InjectionToken, OnChanges, NgIterable, DoCheck, TrackByFunction, TemplateRef } from '@angular/core';
import { D as Directionality, B as BidiModule } from './bidi-module.d-879a73c7.js';
import { Observable, Subscription, Subject } from 'rxjs';
import { L as ListRange, D as DataSource, C as CollectionViewer } from './data-source.d-cd31f292.js';
import { N as NumberInput } from './number-property.d-5998850c.js';
/**
* An item to be repeated by the VirtualScrollViewport
*/
interface CdkVirtualScrollRepeater<T> {
readonly dataStream: Observable<readonly T[]>;
measureRangeSize(range: ListRange, orientation: 'horizontal' | 'vertical'): number;
}
/** Time in ms to throttle the scrolling events by default. */
declare const DEFAULT_SCROLL_TIME = 20;
/**
* Service contained all registered Scrollable references and emits an event when any one of the
* Scrollable references emit a scrolled event.
*/
declare class ScrollDispatcher implements OnDestroy {
private _ngZone;
private _platform;
private _renderer;
private _cleanupGlobalListener;
constructor(...args: unknown[]);
/** Subject for notifying that a registered scrollable reference element has been scrolled. */
private readonly _scrolled;
/** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */
private _scrolledCount;
/**
* Map of all the scrollable references that are registered with the service and their
* scroll event subscriptions.
*/
scrollContainers: Map<CdkScrollable, Subscription>;
/**
* Registers a scrollable instance with the service and listens for its scrolled events. When the
* scrollable is scrolled, the service emits the event to its scrolled observable.
* @param scrollable Scrollable instance to be registered.
*/
register(scrollable: CdkScrollable): void;
/**
* De-registers a Scrollable reference and unsubscribes from its scroll event observable.
* @param scrollable Scrollable instance to be deregistered.
*/
deregister(scrollable: CdkScrollable): void;
/**
* Returns an observable that emits an event whenever any of the registered Scrollable
* references (or window, document, or body) fire a scrolled event. Can provide a time in ms
* to override the default "throttle" time.
*
* **Note:** in order to avoid hitting change detection for every scroll event,
* all of the events emitted from this stream will be run outside the Angular zone.
* If you need to update any data bindings as a result of a scroll event, you have
* to run the callback using `NgZone.run`.
*/
scrolled(auditTimeInMs?: number): Observable<CdkScrollable | void>;
ngOnDestroy(): void;
/**
* Returns an observable that emits whenever any of the
* scrollable ancestors of an element are scrolled.
* @param elementOrElementRef Element whose ancestors to listen for.
* @param auditTimeInMs Time to throttle the scroll events.
*/
ancestorScrolled(elementOrElementRef: ElementRef | HTMLElement, auditTimeInMs?: number): Observable<CdkScrollable | void>;
/** Returns all registered Scrollables that contain the provided element. */
getAncestorScrollContainers(elementOrElementRef: ElementRef | HTMLElement): CdkScrollable[];
/** Returns true if the element is contained within the provided Scrollable. */
private _scrollableContainsElement;
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollDispatcher, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<ScrollDispatcher>;
}
type _Without<T> = {
[P in keyof T]?: never;
};
type _XOR<T, U> = (_Without<T> & U) | (_Without<U> & T);
type _Top = {
top?: number;
};
type _Bottom = {
bottom?: number;
};
type _Left = {
left?: number;
};
type _Right = {
right?: number;
};
type _Start = {
start?: number;
};
type _End = {
end?: number;
};
type _XAxis = _XOR<_XOR<_Left, _Right>, _XOR<_Start, _End>>;
type _YAxis = _XOR<_Top, _Bottom>;
/**
* An extended version of ScrollToOptions that allows expressing scroll offsets relative to the
* top, bottom, left, right, start, or end of the viewport rather than just the top and left.
* Please note: the top and bottom properties are mutually exclusive, as are the left, right,
* start, and end properties.
*/
type ExtendedScrollToOptions = _XAxis & _YAxis & ScrollOptions;
/**
* Sends an event when the directive's element is scrolled. Registers itself with the
* ScrollDispatcher service to include itself as part of its collection of scrolling events that it
* can be listened to through the service.
*/
declare class CdkScrollable implements OnInit, OnDestroy {
protected elementRef: ElementRef<HTMLElement>;
protected scrollDispatcher: ScrollDispatcher;
protected ngZone: NgZone;
protected dir?: Directionality | null | undefined;
protected _scrollElement: EventTarget;
protected readonly _destroyed: Subject<void>;
private _renderer;
private _cleanupScroll;
private _elementScrolled;
constructor(...args: unknown[]);
ngOnInit(): void;
ngOnDestroy(): void;
/** Returns observable that emits when a scroll event is fired on the host element. */
elementScrolled(): Observable<Event>;
/** Gets the ElementRef for the viewport. */
getElementRef(): ElementRef<HTMLElement>;
/**
* Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo
* method, since browsers are not consistent about what scrollLeft means in RTL. For this method
* left and right always refer to the left and right side of the scrolling container irrespective
* of the layout direction. start and end refer to left and right in an LTR context and vice-versa
* in an RTL context.
* @param options specified the offsets to scroll to.
*/
scrollTo(options: ExtendedScrollToOptions): void;
private _applyScrollToOptions;
/**
* Measures the scroll offset relative to the specified edge of the viewport. This method can be
* used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent
* about what scrollLeft means in RTL. The values returned by this method are normalized such that
* left and right always refer to the left and right side of the scrolling container irrespective
* of the layout direction. start and end refer to left and right in an LTR context and vice-versa
* in an RTL context.
* @param from The edge to measure from.
*/
measureScrollOffset(from: 'top' | 'left' | 'right' | 'bottom' | 'start' | 'end'): number;
static ɵfac: i0.ɵɵFactoryDeclaration<CdkScrollable, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<CdkScrollable, "[cdk-scrollable], [cdkScrollable]", never, {}, {}, never, never, true, never>;
}
declare const VIRTUAL_SCROLLABLE: InjectionToken<CdkVirtualScrollable>;
/**
* Extending the {@link CdkScrollable} to be used as scrolling container for virtual scrolling.
*/
declare abstract class CdkVirtualScrollable extends CdkScrollable {
constructor(...args: unknown[]);
/**
* Measure the viewport size for the provided orientation.
*
* @param orientation The orientation to measure the size from.
*/
measureViewportSize(orientation: 'horizontal' | 'vertical'): number;
/**
* Measure the bounding DOMRect size including the scroll offset.
*
* @param from The edge to measure from.
*/
abstract measureBoundingClientRectWithScrollOffset(from: 'left' | 'top' | 'right' | 'bottom'): number;
static ɵfac: i0.ɵɵFactoryDeclaration<CdkVirtualScrollable, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<CdkVirtualScrollable, never, never, {}, {}, never, never, true, never>;
}
/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */
declare class CdkVirtualScrollViewport extends CdkVirtualScrollable implements OnInit, OnDestroy {
elementRef: ElementRef<HTMLElement>;
private _changeDetectorRef;
private _scrollStrategy;
scrollable: CdkVirtualScrollable;
private _platform;
/** Emits when the viewport is detached from a CdkVirtualForOf. */
private readonly _detachedSubject;
/** Emits when the rendered range changes. */
private readonly _renderedRangeSubject;
/** The direction the viewport scrolls. */
get orientation(): "horizontal" | "vertical";
set orientation(orientation: 'horizontal' | 'vertical');
private _orientation;
/**
* Whether rendered items should persist in the DOM after scrolling out of view. By default, items
* will be removed.
*/
appendOnly: boolean;
/** Emits when the index of the first element visible in the viewport changes. */
readonly scrolledIndexChange: Observable<number>;
/** The element that wraps the rendered content. */
_contentWrapper: ElementRef<HTMLElement>;
/** A stream that emits whenever the rendered range changes. */
readonly renderedRangeStream: Observable<ListRange>;
/**
* The total size of all content (in pixels), including content that is not currently rendered.
*/
private _totalContentSize;
/** A string representing the `style.width` property value to be used for the spacer element. */
_totalContentWidth: string;
/** A string representing the `style.height` property value to be used for the spacer element. */
_totalContentHeight: string;
/**
* The CSS transform applied to the rendered subset of items so that they appear within the bounds
* of the visible viewport.
*/
private _renderedContentTransform;
/** The currently rendered range of indices. */
private _renderedRange;
/** The length of the data bound to this viewport (in number of items). */
private _dataLength;
/** The size of the viewport (in pixels). */
private _viewportSize;
/** the currently attached CdkVirtualScrollRepeater. */
private _forOf;
/** The last rendered content offset that was set. */
private _renderedContentOffset;
/**
* Whether the last rendered content offset was to the end of the content (and therefore needs to
* be rewritten as an offset to the start of the content).
*/
private _renderedContentOffsetNeedsRewrite;
/** Whether there is a pending change detection cycle. */
private _isChangeDetectionPending;
/** A list of functions to run after the next change detection cycle. */
private _runAfterChangeDetection;
/** Subscription to changes in the viewport size. */
private _viewportChanges;
private _injector;
private _isDestroyed;
constructor(...args: unknown[]);
ngOnInit(): void;
ngOnDestroy(): void;
/** Attaches a `CdkVirtualScrollRepeater` to this viewport. */
attach(forOf: CdkVirtualScrollRepeater<any>): void;
/** Detaches the current `CdkVirtualForOf`. */
detach(): void;
/** Gets the length of the data bound to this viewport (in number of items). */
getDataLength(): number;
/** Gets the size of the viewport (in pixels). */
getViewportSize(): number;
/** Get the current rendered range of items. */
getRenderedRange(): ListRange;
measureBoundingClientRectWithScrollOffset(from: 'left' | 'top' | 'right' | 'bottom'): number;
/**
* Sets the total size of all content (in pixels), including content that is not currently
* rendered.
*/
setTotalContentSize(size: number): void;
/** Sets the currently rendered range of indices. */
setRenderedRange(range: ListRange): void;
/**
* Gets the offset from the start of the viewport to the start of the rendered data (in pixels).
*/
getOffsetToRenderedContentStart(): number | null;
/**
* Sets the offset from the start of the viewport to either the start or end of the rendered data
* (in pixels).
*/
setRenderedContentOffset(offset: number, to?: 'to-start' | 'to-end'): void;
/**
* Scrolls to the given offset from the start of the viewport. Please note that this is not always
* the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left
* direction, this would be the equivalent of setting a fictional `scrollRight` property.
* @param offset The offset to scroll to.
* @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.
*/
scrollToOffset(offset: number, behavior?: ScrollBehavior): void;
/**
* Scrolls to the offset for the given index.
* @param index The index of the element to scroll to.
* @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.
*/
scrollToIndex(index: number, behavior?: ScrollBehavior): void;
/**
* Gets the current scroll offset from the start of the scrollable (in pixels).
* @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'
* in horizontal mode.
*/
measureScrollOffset(from?: 'top' | 'left' | 'right' | 'bottom' | 'start' | 'end'): number;
/**
* Measures the offset of the viewport from the scrolling container
* @param from The edge to measure from.
*/
measureViewportOffset(from?: 'top' | 'left' | 'right' | 'bottom' | 'start' | 'end'): number;
/** Measure the combined size of all of the rendered items. */
measureRenderedContentSize(): number;
/**
* Measure the total combined size of the given range. Throws if the range includes items that are
* not rendered.
*/
measureRangeSize(range: ListRange): number;
/** Update the viewport dimensions and re-render. */
checkViewportSize(): void;
/** Measure the viewport size. */
private _measureViewportSize;
/** Queue up change detection to run. */
private _markChangeDetectionNeeded;
/** Run change detection. */
private _doChangeDetection;
/** Calculates the `style.width` and `style.height` for the spacer element. */
private _calculateSpacerSize;
static ɵfac: i0.ɵɵFactoryDeclaration<CdkVirtualScrollViewport, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<CdkVirtualScrollViewport, "cdk-virtual-scroll-viewport", never, { "orientation": { "alias": "orientation"; "required": false; }; "appendOnly": { "alias": "appendOnly"; "required": false; }; }, { "scrolledIndexChange": "scrolledIndexChange"; }, never, ["*"], true, never>;
static ngAcceptInputType_appendOnly: unknown;
}
/** The injection token used to specify the virtual scrolling strategy. */
declare const VIRTUAL_SCROLL_STRATEGY: InjectionToken<VirtualScrollStrategy>;
/** A strategy that dictates which items should be rendered in the viewport. */
interface VirtualScrollStrategy {
/** Emits when the index of the first element visible in the viewport changes. */
scrolledIndexChange: Observable<number>;
/**
* Attaches this scroll strategy to a viewport.
* @param viewport The viewport to attach this strategy to.
*/
attach(viewport: CdkVirtualScrollViewport): void;
/** Detaches this scroll strategy from the currently attached viewport. */
detach(): void;
/** Called when the viewport is scrolled (debounced using requestAnimationFrame). */
onContentScrolled(): void;
/** Called when the length of the data changes. */
onDataLengthChanged(): void;
/** Called when the range of items rendered in the DOM has changed. */
onContentRendered(): void;
/** Called when the offset of the rendered items changed. */
onRenderedOffsetChanged(): void;
/**
* Scroll to the offset for the given index.
* @param index The index of the element to scroll to.
* @param behavior The ScrollBehavior to use when scrolling.
*/
scrollToIndex(index: number, behavior: ScrollBehavior): void;
}
/** Virtual scrolling strategy for lists with items of known fixed size. */
declare class FixedSizeVirtualScrollStrategy implements VirtualScrollStrategy {
private readonly _scrolledIndexChange;
/** @docs-private Implemented as part of VirtualScrollStrategy. */
scrolledIndexChange: Observable<number>;
/** The attached viewport. */
private _viewport;
/** The size of the items in the virtually scrolling list. */
private _itemSize;
/** The minimum amount of buffer rendered beyond the viewport (in pixels). */
private _minBufferPx;
/** The number of buffer items to render beyond the edge of the viewport (in pixels). */
private _maxBufferPx;
/**
* @param itemSize The size of the items in the virtually scrolling list.
* @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more
* @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.
*/
constructor(itemSize: number, minBufferPx: number, maxBufferPx: number);
/**
* Attaches this scroll strategy to a viewport.
* @param viewport The viewport to attach this strategy to.
*/
attach(viewport: CdkVirtualScrollViewport): void;
/** Detaches this scroll strategy from the currently attached viewport. */
detach(): void;
/**
* Update the item size and buffer size.
* @param itemSize The size of the items in the virtually scrolling list.
* @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more
* @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.
*/
updateItemAndBufferSize(itemSize: number, minBufferPx: number, maxBufferPx: number): void;
/** @docs-private Implemented as part of VirtualScrollStrategy. */
onContentScrolled(): void;
/** @docs-private Implemented as part of VirtualScrollStrategy. */
onDataLengthChanged(): void;
/** @docs-private Implemented as part of VirtualScrollStrategy. */
onContentRendered(): void;
/** @docs-private Implemented as part of VirtualScrollStrategy. */
onRenderedOffsetChanged(): void;
/**
* Scroll to the offset for the given index.
* @param index The index of the element to scroll to.
* @param behavior The ScrollBehavior to use when scrolling.
*/
scrollToIndex(index: number, behavior: ScrollBehavior): void;
/** Update the viewport's total content size. */
private _updateTotalContentSize;
/** Update the viewport's rendered range. */
private _updateRenderedRange;
}
/**
* Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created
* `FixedSizeVirtualScrollStrategy` from the given directive.
* @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the
* `FixedSizeVirtualScrollStrategy` from.
*/
declare function _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir: CdkFixedSizeVirtualScroll): FixedSizeVirtualScrollStrategy;
/** A virtual scroll strategy that supports fixed-size items. */
declare class CdkFixedSizeVirtualScroll implements OnChanges {
/** The size of the items in the list (in pixels). */
get itemSize(): number;
set itemSize(value: NumberInput);
_itemSize: number;
/**
* The minimum amount of buffer rendered beyond the viewport (in pixels).
* If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.
*/
get minBufferPx(): number;
set minBufferPx(value: NumberInput);
_minBufferPx: number;
/**
* The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.
*/
get maxBufferPx(): number;
set maxBufferPx(value: NumberInput);
_maxBufferPx: number;
/** The scroll strategy used by this directive. */
_scrollStrategy: FixedSizeVirtualScrollStrategy;
ngOnChanges(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<CdkFixedSizeVirtualScroll, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<CdkFixedSizeVirtualScroll, "cdk-virtual-scroll-viewport[itemSize]", never, { "itemSize": { "alias": "itemSize"; "required": false; }; "minBufferPx": { "alias": "minBufferPx"; "required": false; }; "maxBufferPx": { "alias": "maxBufferPx"; "required": false; }; }, {}, never, never, true, never>;
}
/** The context for an item rendered by `CdkVirtualForOf` */
type CdkVirtualForOfContext<T> = {
/** The item value. */
$implicit: T;
/** The DataSource, Observable, or NgIterable that was passed to *cdkVirtualFor. */
cdkVirtualForOf: DataSource<T> | Observable<T[]> | NgIterable<T>;
/** The index of the item in the DataSource. */
index: number;
/** The number of items in the DataSource. */
count: number;
/** Whether this is the first item in the DataSource. */
first: boolean;
/** Whether this is the last item in the DataSource. */
last: boolean;
/** Whether the index is even. */
even: boolean;
/** Whether the index is odd. */
odd: boolean;
};
/**
* A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling
* container.
*/
declare class CdkVirtualForOf<T> implements CdkVirtualScrollRepeater<T>, CollectionViewer, DoCheck, OnDestroy {
private _viewContainerRef;
private _template;
private _differs;
private _viewRepeater;
private _viewport;
/** Emits when the rendered view of the data changes. */
readonly viewChange: Subject<ListRange>;
/** Subject that emits when a new DataSource instance is given. */
private readonly _dataSourceChanges;
/** The DataSource to display. */
get cdkVirtualForOf(): DataSource<T> | Observable<T[]> | NgIterable<T> | null | undefined;
set cdkVirtualForOf(value: DataSource<T> | Observable<T[]> | NgIterable<T> | null | undefined);
_cdkVirtualForOf: DataSource<T> | Observable<T[]> | NgIterable<T> | null | undefined;
/**
* The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and
* the item and produces a value to be used as the item's identity when tracking changes.
*/
get cdkVirtualForTrackBy(): TrackByFunction<T> | undefined;
set cdkVirtualForTrackBy(fn: TrackByFunction<T> | undefined);
private _cdkVirtualForTrackBy;
/** The template used to stamp out new elements. */
set cdkVirtualForTemplate(value: TemplateRef<CdkVirtualForOfContext<T>>);
/**
* The size of the cache used to store templates that are not being used for re-use later.
* Setting the cache size to `0` will disable caching. Defaults to 20 templates.
*/
get cdkVirtualForTemplateCacheSize(): number;
set cdkVirtualForTemplateCacheSize(size: NumberInput);
/** Emits whenever the data in the current DataSource changes. */
readonly dataStream: Observable<readonly T[]>;
/** The differ used to calculate changes to the data. */
private _differ;
/** The most recent data emitted from the DataSource. */
private _data;
/** The currently rendered items. */
private _renderedItems;
/** The currently rendered range of indices. */
private _renderedRange;
/** Whether the rendered data should be updated during the next ngDoCheck cycle. */
private _needsUpdate;
private readonly _destroyed;
constructor(...args: unknown[]);
/**
* Measures the combined size (width for horizontal orientation, height for vertical) of all items
* in the specified range. Throws an error if the range includes items that are not currently
* rendered.
*/
measureRangeSize(range: ListRange, orientation: 'horizontal' | 'vertical'): number;
ngDoCheck(): void;
ngOnDestroy(): void;
/** React to scroll state changes in the viewport. */
private _onRenderedDataChange;
/** Swap out one `DataSource` for another. */
private _changeDataSource;
/** Update the `CdkVirtualForOfContext` for all views. */
private _updateContext;
/** Apply changes to the DOM. */
private _applyChanges;
/** Update the computed properties on the `CdkVirtualForOfContext`. */
private _updateComputedContextProperties;
private _getEmbeddedViewArgs;
static ngTemplateContextGuard<T>(directive: CdkVirtualForOf<T>, context: unknown): context is CdkVirtualForOfContext<T>;
static ɵfac: i0.ɵɵFactoryDeclaration<CdkVirtualForOf<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<CdkVirtualForOf<any>, "[cdkVirtualFor][cdkVirtualForOf]", never, { "cdkVirtualForOf": { "alias": "cdkVirtualForOf"; "required": false; }; "cdkVirtualForTrackBy": { "alias": "cdkVirtualForTrackBy"; "required": false; }; "cdkVirtualForTemplate": { "alias": "cdkVirtualForTemplate"; "required": false; }; "cdkVirtualForTemplateCacheSize": { "alias": "cdkVirtualForTemplateCacheSize"; "required": false; }; }, {}, never, never, true, never>;
}
/**
* Provides as virtual scrollable for the global / window scrollbar.
*/
declare class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
constructor(...args: unknown[]);
measureBoundingClientRectWithScrollOffset(from: 'left' | 'top' | 'right' | 'bottom'): number;
static ɵfac: i0.ɵɵFactoryDeclaration<CdkVirtualScrollableWindow, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<CdkVirtualScrollableWindow, "cdk-virtual-scroll-viewport[scrollWindow]", never, {}, {}, never, never, true, never>;
}
/**
* Provides a virtual scrollable for the element it is attached to.
*/
declare class CdkVirtualScrollableElement extends CdkVirtualScrollable {
constructor(...args: unknown[]);
measureBoundingClientRectWithScrollOffset(from: 'left' | 'top' | 'right' | 'bottom'): number;
static ɵfac: i0.ɵɵFactoryDeclaration<CdkVirtualScrollableElement, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<CdkVirtualScrollableElement, "[cdkVirtualScrollingElement]", never, {}, {}, never, never, true, never>;
}
declare class CdkScrollableModule {
static ɵfac: i0.ɵɵFactoryDeclaration<CdkScrollableModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<CdkScrollableModule, never, [typeof CdkScrollable], [typeof CdkScrollable]>;
static ɵinj: i0.ɵɵInjectorDeclaration<CdkScrollableModule>;
}
/**
* @docs-primary-export
*/
declare class ScrollingModule {
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollingModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<ScrollingModule, never, [typeof BidiModule, typeof CdkScrollableModule, typeof CdkVirtualScrollViewport, typeof CdkFixedSizeVirtualScroll, typeof CdkVirtualForOf, typeof CdkVirtualScrollableWindow, typeof CdkVirtualScrollableElement], [typeof BidiModule, typeof CdkScrollableModule, typeof CdkFixedSizeVirtualScroll, typeof CdkVirtualForOf, typeof CdkVirtualScrollViewport, typeof CdkVirtualScrollableWindow, typeof CdkVirtualScrollableElement]>;
static ɵinj: i0.ɵɵInjectorDeclaration<ScrollingModule>;
}
export { CdkScrollable as C, DEFAULT_SCROLL_TIME as D, type ExtendedScrollToOptions as E, FixedSizeVirtualScrollStrategy as F, ScrollingModule as S, VIRTUAL_SCROLL_STRATEGY as V, _fixedSizeVirtualScrollStrategyFactory as _, ScrollDispatcher as a, CdkScrollableModule as b, CdkFixedSizeVirtualScroll as c, CdkVirtualForOf as d, CdkVirtualScrollViewport as e, CdkVirtualScrollableWindow as f, CdkVirtualScrollableElement as g, type _Without as h, type _XOR as i, type _Top as j, type _Bottom as k, type _Left as l, type _Right as m, type _Start as n, type _End as o, type _XAxis as p, type _YAxis as q, type CdkVirtualForOfContext as r, type VirtualScrollStrategy as s, type CdkVirtualScrollRepeater as t, VIRTUAL_SCROLLABLE as u, CdkVirtualScrollable as v };