/** * Author: Shi(bolan0000@icloud.com) * Date: 2019/3/3 * Copyright (c) 2018, AoTang, Inc. * * Description: */ declare module "react-native-largelist-v3" { import { SpringScrollViewPropType, Offset } from "../ScrollView"; import * as React from "react"; import { Animated } from "react-native"; export interface IndexPath { section: number; row: number; } export type LargeListDataType = { items: any[] }[]; export interface LargeListPropType extends SpringScrollViewPropType { data: LargeListDataType; heightForSection?: (section: number) => number; renderSection?: (section: number) => React.ReactElement; heightForIndexPath: (indexPath: IndexPath) => number; renderIndexPath: (indexPath: IndexPath) => React.ReactElement; renderHeader?: () => React.ReactElement; renderFooter?: () => React.ReactElement; renderEmpty?: () => React.ReactElement, groupCount?: number; groupMinHeight?: number; updateTimeInterval?: number; } export class LargeList extends React.PureComponent { scrollTo(offset: Offset, animated?: boolean): Promise; scrollToIndexPath(indexPath: IndexPath, animated?: boolean): Promise; endRefresh(): void; endLoading(): void; } export interface WaterfallListType extends SpringScrollViewPropType { data: T[]; heightForItem: (item: T, index: number) => number; renderItem: (item: T, index: number) => React.ReactElement; preferColumnWidth?: number; numColumns?: number; renderHeader?: () => React.ReactElement; renderFooter?: () => React.ReactElement; onNativeContentOffsetExtract?: { x?: Animated.Value; y?: Animated.Value; }; } export class WaterfallList extends React.PureComponent> { scrollTo(offset: Offset, animated?: boolean): Promise; endRefresh(): void; endLoading(): void; } export interface StickyFormPropType extends LargeListPropType {} export class StickyForm extends React.PureComponent { scrollTo(offset: Offset, animated?: boolean): Promise; endRefresh(): void; endLoading(): void; } }