import { VirtualScrollStrategy } from "@angular/cdk/scrolling";
import { OnChanges } from "@angular/core";
import { ComponentChanges } from "../../../types";
import { TableVirtualScrollLinearStrategy, TableVirtualScrollStrategy } from "./table-virtual-scroll-strategy";
import * as i0 from "@angular/core";
export declare const DEFAULT_TABLE_HEADER_OFFSET = 40;
export declare const TABLE_ROW_HEIGHT = 24;
export declare function complexScrollStrategyFactory(scroll: TableVirtualScrollDirective | TableVirtualScrollLinearDirective): VirtualScrollStrategy;
export declare class TableVirtualScrollLinearDirective implements OnChanges {
    /** Height of table row. */
    rowHeight: number;
    /** Number of rows loaded into memory */
    rowCount: number;
    scrollStrategy: TableVirtualScrollLinearStrategy;
    ngOnChanges(changes: ComponentChanges<TableVirtualScrollLinearDirective>): void;
    /**
     * Updates the size of the items in the virtually scrolling list.
     * @param length
     */
    updateDataLength(length: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableVirtualScrollLinearDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TableVirtualScrollLinearDirective, "[tableVirtualScroll]:not([offset])", never, { "rowHeight": "rowHeight"; "rowCount": "rowCount"; }, {}, never>;
}
/**
 * @deprecated in v11 - Use tableVirtualScroll with 'rowCount' attribute instead of 'offset' attribute - Removal: NUI-5796
 */
export declare class TableVirtualScrollDirective implements OnChanges {
    /** Height of table row. */
    rowHeight: number;
    /**  Space to be saved for the header. Will be assigned to headerOffset value inside custom strategy */
    offset: number;
    scrollStrategy: TableVirtualScrollStrategy;
    ngOnChanges(): void;
    /**
     * Updates the size of the items in the virtually scrolling list.
     * @param length
     */
    updateDataLength(length: number): void;
    setMaxItems(maxItems: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableVirtualScrollDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TableVirtualScrollDirective, "[tableVirtualScroll]:not([rowCount])", never, { "rowHeight": "rowHeight"; "offset": "offset"; }, {}, never>;
}
