import { BehaviorSubject, Subject } from 'rxjs';
import { CdkVirtualScrollViewport, VirtualScrollStrategy } from '@angular/cdk/scrolling';
import { ListRange } from '@angular/cdk/collections';
import * as i0 from "@angular/core";
export interface TSVStrategyConfigs {
    rowHeight: number;
    headerHeight: number;
    footerHeight: number;
    bufferMultiplier: number;
}
export declare class FixedSizeTableVirtualScrollStrategy implements VirtualScrollStrategy {
    private rowHeight;
    private headerHeight;
    private footerHeight;
    private bufferMultiplier;
    private indexChange;
    stickyChange: Subject<number>;
    viewport: CdkVirtualScrollViewport;
    renderedRangeStream: BehaviorSubject<ListRange>;
    scrolledIndexChange: import("rxjs").Observable<number>;
    get dataLength(): number;
    set dataLength(value: number);
    private _dataLength;
    attach(viewport: CdkVirtualScrollViewport): void;
    detach(): void;
    onContentScrolled(): void;
    onDataLengthChanged(): void;
    onContentRendered(): void;
    onRenderedOffsetChanged(): void;
    scrollToIndex(index: number, behavior?: ScrollBehavior): void;
    setConfig(configs: TSVStrategyConfigs): void;
    private updateContent;
    static ɵfac: i0.ɵɵFactoryDeclaration<FixedSizeTableVirtualScrollStrategy, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FixedSizeTableVirtualScrollStrategy>;
}
