/// import { TimeoutID } from './timer'; export declare type ScrollToAlign = 'auto' | 'smart' | 'center' | 'start' | 'end'; export interface RowProps { data: any; index: number; isScrolling?: boolean; style: React.CSSProperties; ansiUp: any; } export interface ListProps { estimatedItemSize?: number; children: React.FunctionComponent; [key: string]: any; } export interface ItemMetadata { offset: number; size: number; } export interface InstanceProps { itemMetadataMap: { [index: number]: ItemMetadata; }; estimatedItemSize: number; lastMeasuredIndex: number; } declare type ScrollDirection = 'forward' | 'backward'; declare type ScrollEvent = React.SyntheticEvent; export interface State { instance: any; isScrolling: boolean; scrollDirection: ScrollDirection; scrollOffset: number; scrollOffsetToBottom: number; scrollUpdateWasRequested: boolean; } declare type GetItemOffset = (props: ListProps, index: number, instanceProps?: any) => number; declare type GetItemSize = (props: ListProps, index?: number, instanceProps?: any) => number; declare type GetEstimatedTotalSize = (props: ListProps, instanceProps?: any) => number; declare type GetOffsetForIndexAndAlignment = (props: ListProps, index: number, align: ScrollToAlign, scrollOffset: number, instanceProps?: any) => number; declare type GetStartIndexForOffset = (props: ListProps, offset: number, instanceProps?: any) => number; declare type GetStopIndexForStartIndex = (props: ListProps, startIndex: number, scrollOffset: number, instanceProps?: InstanceProps) => number; declare type InitInstanceProps = (props?: ListProps, instance?: any) => any; declare type ValidateProps = (props: ListProps) => void; export default function createListComponent({ getItemOffset, getEstimatedTotalSize, getItemSize, getOffsetForIndexAndAlignment, getStartIndexForOffset, getStopIndexForStartIndex, initInstanceProps, shouldResetStyleCacheOnItemSizeChange, validateProps }: { getItemOffset: GetItemOffset; getEstimatedTotalSize: GetEstimatedTotalSize; getItemSize: GetItemSize; getOffsetForIndexAndAlignment: GetOffsetForIndexAndAlignment; getStartIndexForOffset: GetStartIndexForOffset; getStopIndexForStartIndex: GetStopIndexForStartIndex; initInstanceProps: InitInstanceProps; shouldResetStyleCacheOnItemSizeChange: boolean; validateProps: ValidateProps; }): { new (props: ListProps): { _instanceProps: any; _outerRef?: HTMLDivElement; _resetIsScrollingTimeoutId: TimeoutID | null; state: State; scrollTo(scrollOffset: number): void; scrollToItem(index: number, align?: ScrollToAlign): void; scrollToBottom(): void; onTextSelectionStart(): void; onTextSelectionStop(): void; componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; render(): import("react").CElement<{ className: any; onScroll: (event: ScrollEvent) => void; ref: (ref: any) => void; tabIndex: number; style: any; }, any>; _callOnItemsRendered: (overscanStartIndex: number, overscanStopIndex: number, visibleStartIndex: number, visibleStopIndex: number) => void; _callOnScroll: (scrollDirection: ScrollDirection, scrollOffset: number, scrollOffsetToBottom: number, scrollUpdateWasRequested: boolean) => any; _callPropsCallbacks(): void; _getItemStyle: (index: number) => Object; _getItemStyleCache: (itemSize?: any) => { [key: number]: Object; }; _getRangeToRender(): [number, number, number, number]; _onScrollVertical: (event: ScrollEvent) => void; _outerRefSetter: (ref: any) => void; _resetIsScrollingDebounced: () => void; _resetIsScrolling: () => void; context: unknown; setState(state: State | ((prevState: Readonly, props: Readonly) => State | Pick) | Pick, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly; refs: { [key: string]: import("react").ReactInstance; }; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): boolean; componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, prevState: Readonly): any; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; }; defaultProps: { itemData: any; overscanCount: number; useIsScrolling: boolean; }; getDerivedStateFromProps(nextProps: ListProps, prevState: State): State | null; contextType?: import("react").Context; }; export {}; //# sourceMappingURL=createListComponent.d.ts.map