import { CdkVirtualScrollViewport, VirtualScrollStrategy } from '@angular/cdk/scrolling';
import { Observable } from 'rxjs';
import { CalendarVirtualScrollConfig } from '../interfaces/calendar-virtual-scroll-config.interface';
export declare class CalendarVirtualScrollStrategy implements VirtualScrollStrategy {
    private readonly config;
    private readonly index$;
    private cycleIndex;
    private viewport;
    private cycleHeight;
    readonly scrolledIndexChange: Observable<number>;
    private cycleMonthsHeights;
    constructor(config: CalendarVirtualScrollConfig);
    attach(viewport: CdkVirtualScrollViewport): void;
    detach(): void;
    onContentScrolled(): void;
    scrollToIndex(index: number, behavior: ScrollBehavior): void;
    onDataLengthChanged(): void;
    onContentRendered(): void;
    onRenderedOffsetChanged(): void;
    private getOffsetForIndex;
    private getIndexForOffset;
    private updateRenderedRange;
    private getRangeStartByOffset;
    private getRangeEndByOffset;
    private getDistanceToMonthInScroll;
    private updateViewportHeightByIndex;
    private getCycleMonthHeights;
    private getViewportHeight;
}
