import { OnDestroy } from '@angular/core';
import { BehaviorSubject, Subject } from 'rxjs';
import { CdkVirtualScrollViewport, VirtualScrollStrategy } from '@angular/cdk/scrolling';
import { ListRange } from '@angular/cdk/collections';
export interface TSVStrategyConfigs {
    rowHeight: number;
    headerHeight: number;
    footerHeight: number;
    bufferMultiplier: number;
}
export declare type TableScrollStrategy = 'fixed-size' | 'none' | null;
export declare class FixedSizeTableVirtualScrollStrategy implements VirtualScrollStrategy, OnDestroy {
    private eventsSubscription;
    private length;
    private rowHeight;
    private headerHeight;
    private footerHeight;
    private bufferMultiplier;
    private indexChange;
    stickyChange: Subject<number>;
    scrollStrategyMode: TableScrollStrategy;
    viewport: CdkVirtualScrollViewport;
    renderedRangeStream: BehaviorSubject<ListRange>;
    offsetChange: BehaviorSubject<number>;
    scrolledIndexChange: import("rxjs").Observable<number>;
    get dataLength(): number;
    set dataLength(value: number);
    ngOnDestroy(): void;
    attach(viewport: CdkVirtualScrollViewport): void;
    detach(): void;
    onContentScrolled(): void;
    onDataLengthChanged(): void;
    onContentRendered(): void;
    onRenderedOffsetChanged(): void;
    scrollToIndex(index: number, behavior: ScrollBehavior): void;
    setConfig(configs: TSVStrategyConfigs): void;
    getViewportSize(): number;
    private updateContent;
}
