import * as React from 'react'; import type { RenderFunc } from './interface'; export declare type ScrollAlign = 'top' | 'bottom' | 'auto'; export declare type ScrollConfig = { index: number; align?: ScrollAlign; offset?: number; } | { key: React.Key; align?: ScrollAlign; offset?: number; }; export declare type ScrollTo = (arg: number | ScrollConfig) => void; export declare type ListRef = { scrollTo: ScrollTo; }; export interface ListProps extends React.HTMLAttributes { 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): JSX.Element; declare const _default: (props: ListProps & { children?: React.ReactNode; } & { ref?: React.Ref; }) => React.ReactElement; export default _default;