import { CdkTable } from '@angular/cdk/table';
import { AfterContentInit, NgZone, OnChanges, OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import { FixedSizeTableVirtualScrollStrategy } from './fixed-size-table-virtual-scroll-strategy';
import * as i0 from "@angular/core";
export declare function _tableVirtualScrollDirectiveStrategyFactory(tableDir: TableItemSizeDirective): FixedSizeTableVirtualScrollStrategy;
export declare class TableItemSizeDirective<T = unknown> implements OnChanges, AfterContentInit, OnDestroy {
    private zone;
    private destroyed$;
    rowHeight: string | number;
    headerEnabled: boolean;
    headerHeight: string | number;
    footerEnabled: boolean;
    footerHeight: string | number;
    bufferMultiplier: string | number;
    table: CdkTable<T>;
    scrollStrategy: FixedSizeTableVirtualScrollStrategy;
    dataSourceChanges: Subject<void>;
    private stickyPositions;
    private resetStickyPositions;
    private stickyEnabled;
    constructor(zone: NgZone);
    ngOnDestroy(): void;
    ngAfterContentInit(): void;
    connectDataSource(dataSource: unknown): void;
    ngOnChanges(): void;
    private setStickyEnabled;
    private setStickyHeader;
    private setStickyFooter;
    private initStickyPositions;
    private getScheduleObservable;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableItemSizeDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TableItemSizeDirective<any>, "cdk-virtual-scroll-viewport[tvsItemSize]", never, { "rowHeight": "tvsItemSize"; "headerEnabled": "headerEnabled"; "headerHeight": "headerHeight"; "footerEnabled": "footerEnabled"; "footerHeight": "footerHeight"; "bufferMultiplier": "bufferMultiplier"; }, {}, ["table"], never, false, never>;
}
