import { AfterContentInit, NgZone, OnChanges, OnDestroy } from '@angular/core';
import { MatTable } from '@angular/material/table';
import { FixedSizeTableVirtualScrollStrategy } from './fixed-size-table-virtual-scroll-strategy';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare function _tableVirtualScrollDirectiveStrategyFactory(tableDir: TableItemSizeDirective): FixedSizeTableVirtualScrollStrategy;
export declare class TableItemSizeDirective implements OnChanges, AfterContentInit, OnDestroy {
    private zone;
    private alive;
    rowHeight: number;
    headerEnabled: boolean;
    headerHeight: number;
    footerEnabled: boolean;
    footerHeight: number;
    bufferMultiplier: number;
    table: MatTable<any>;
    scrollStrategy: FixedSizeTableVirtualScrollStrategy;
    dataSourceChanges: Subject<void>;
    private stickyPositions;
    constructor(zone: NgZone);
    ngOnDestroy(): void;
    private isAlive;
    private isStickyEnabled;
    ngAfterContentInit(): void;
    connectDataSource(dataSource: any): void;
    ngOnChanges(): void;
    setSticky(offset: any): void;
    private initStickyPositions;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableItemSizeDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TableItemSizeDirective, "cdk-virtual-scroll-viewport[tvsItemSize]", never, { "rowHeight": { "alias": "tvsItemSize"; "required": false; }; "headerEnabled": { "alias": "headerEnabled"; "required": false; }; "headerHeight": { "alias": "headerHeight"; "required": false; }; "footerEnabled": { "alias": "footerEnabled"; "required": false; }; "footerHeight": { "alias": "footerHeight"; "required": false; }; "bufferMultiplier": { "alias": "bufferMultiplier"; "required": false; }; }, {}, ["table"], never, false, never>;
}
