import * as React from 'react'; import type { RenderFunc } from './interface'; export type ScrollAlign = 'top' | 'bottom' | 'auto'; export type ScrollConfig = { index: number; align?: ScrollAlign; offset?: number; } | { key: React.Key; align?: ScrollAlign; offset?: number; }; export type ScrollTo = (arg: number | ScrollConfig) => void; export type ListRef = { scrollTo: ScrollTo; componentRef: React.RefObject; }; export interface ListProps extends Omit, 'children'> { prefixCls?: string; children: RenderFunc; data: T[]; height?: number; itemHeight?: number; /** If not match virtual scroll condition, Set List still use height of container. */ fullHeight?: boolean; itemKey: React.Key | ((item: T) => React.Key); component?: string | React.FC | React.ComponentClass; /** Set `false` will always use real scroll instead of virtual one */ virtual?: boolean; onScroll?: React.UIEventHandler; /** Trigger when render list item changed */ onVisibleChange?: (visibleList: T[], fullList: T[]) => void; } export declare function RawList(props: ListProps, ref: React.Ref): React.JSX.Element; declare const _default: (props: ListProps & { ref?: React.Ref; }) => React.ReactElement; export default _default;