import React from "react";
import "./Ui89VirtualList.css";
export interface Ui89VirtualListPropsRenderRowProps<T> {
    index: number;
    row: T;
}
export interface Ui89VirtualListHandle {
    getScrollTop: () => number;
    setScrollTop: (value: number) => void;
}
export interface Ui89VirtualListProps<T> {
    maxHeight?: string;
    rows: T[];
    rowHeight?: number;
    renderRow: (props: Ui89VirtualListPropsRenderRowProps<T>) => React.ReactNode;
    getRowKey?: (row: T) => string;
    /**
     * Reports the space actually available to rows, which excludes the vertical
     * scrollbar. Fires on mount and whenever the viewport resizes.
     */
    onResize?: (size: {
        width: number;
        height: number;
    }) => void;
}
/**
 * Virtualization at row level. Great for long lists.
 *
 * Can be used to implement table components with few columns.
 */
export declare const Ui89VirtualList: <T>(props: Ui89VirtualListProps<T> & {
    ref?: React.Ref<Ui89VirtualListHandle>;
}) => JSX.Element;
