import * as _angular_core from '@angular/core';
import { AfterViewInit, ElementRef, Injector } from '@angular/core';
import _TableVirtualizer from '@ui5/webcomponents/dist/TableVirtualizer.js';
import { UI5CustomEvent } from '@ui5/webcomponents-base';

declare class TableVirtualizer implements AfterViewInit {
    /**
     * Defines the height of the rows in the table.
  
  **Note:** For virtualization to work properly, this property is mandatory.
     */
    rowHeight: _angular_core.InputSignal<number | undefined>;
    /**
     * Defines the total count of rows in the table.
  
  **Note:** For virtualization to work properly, this property is mandatory.
     */
    rowCount: _angular_core.InputSignal<number | undefined>;
    /**
     * Defines the count of extra rows to be rendered at the top and bottom of the table.
  
  **Note:** This property is experimental and may be changed or deleted in the future.
     */
    extraRows: _angular_core.InputSignal<number | undefined>;
    /**
     * Fired when the virtualizer is changed by user interaction e.g. on scrolling.
     */
    ui5RangeChange: _angular_core.OutputEmitterRef<UI5CustomEvent<_TableVirtualizer, "range-change">>;
    elementRef: ElementRef<_TableVirtualizer>;
    injector: Injector;
    get element(): _TableVirtualizer;
    ngAfterViewInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableVirtualizer, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableVirtualizer, "ui5-table-virtualizer, [ui5-table-virtualizer]", ["ui5TableVirtualizer"], { "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "rowCount": { "alias": "rowCount"; "required": false; "isSignal": true; }; "extraRows": { "alias": "extraRows"; "required": false; "isSignal": true; }; }, { "ui5RangeChange": "ui5RangeChange"; }, never, ["*"], true, never>;
}

export { TableVirtualizer };
