import * as React from 'react'; import type { Group } from './hooks/useGroupSegments'; export type RowKey = keyof T | ((item: T, index: number) => React.Key); export type ScrollAlign = 'top' | 'bottom' | 'auto'; export type ListySemanticName = 'root' | 'item' | 'groupHeader'; export type ListyClassNames = Partial>; export type ListyStyles = Partial>; export interface GroupScrollToConfig { groupKey: React.Key; align?: ScrollAlign; offset?: number; } export interface KeyScrollToConfig { key: React.Key; align?: ScrollAlign; offset?: number; } export interface PositionScrollToConfig { left?: number; top?: number; } export type ListyScrollToConfig = number | null | KeyScrollToConfig | PositionScrollToConfig | GroupScrollToConfig; export interface ListyRef { scrollTo: (config?: ListyScrollToConfig) => void; } export interface ListyProps { items?: T[]; sticky?: boolean; itemHeight?: number; height?: number; group?: Group; virtual?: boolean; scrollWidth?: number; direction?: 'ltr' | 'rtl'; prefixCls?: string; rowKey: RowKey; classNames?: ListyClassNames; styles?: ListyStyles; onScroll?: React.UIEventHandler; itemRender: (item: T, index: number) => React.ReactNode; } export interface ListComponentProps { data: T[]; sticky?: boolean; itemHeight?: number; height?: number; group?: Group; scrollWidth?: number; direction?: 'ltr' | 'rtl'; prefixCls: string; rowKey: RowKey; classNames?: ListyClassNames; styles?: ListyStyles; onScroll?: React.UIEventHandler; itemRender: (item: T, index: number) => React.ReactNode; } declare const ListyWithForwardRef: (props: ListyProps & { ref?: React.Ref; }) => React.ReactElement; export default ListyWithForwardRef;