import { CdkVirtualScrollViewport, VirtualScrollStrategy } from '@angular/cdk/scrolling'; import * as i0 from "@angular/core"; export declare const YEARS_TO_BE_RENDERED = 200; export declare const START_CYCLE_YEAR = 1900; export interface FsCalendarMobileScrollStrategy extends VirtualScrollStrategy { setInitialDate(date: Date): void; scrollToDate(date: Date, behavior?: ScrollBehavior): void; } /** * Implementation has been taken from Alex Inkin article, adopted and modified a bit * https://indepth.dev/posts/1091/writing-custom-virtual-scroll-strategy */ export declare class CalendarScrollStrategy implements FsCalendarMobileScrollStrategy { private readonly _index$; readonly scrolledIndexChange: import("rxjs").Observable; private _viewport; private _initialDate; private _firstTimeRender; private readonly yearsCycle; private readonly yearsCycleHeight; attach(viewport: CdkVirtualScrollViewport): void; detach(): void; onContentScrolled(): void; onDataLengthChanged(): void; onContentRendered(): void; onRenderedOffsetChanged(): void; /** * Initial Date for render can be set on initialization step to reduce calculations */ setInitialDate(date: Date): void; /** * Does scroll to month with provided index */ scrollToIndex(index: number, behavior: ScrollBehavior): void; /** * Does the same thing as scrollToIndex(), but for date */ scrollToDate(date: Date, behavior?: ScrollBehavior): void; /** * Update the viewport's rendered range. */ private _updateRenderedRange; private _getOffsetForIndex; private _getIndexForOffset; private _getOffsetForDate; private _computeHeight; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }