// import { FunctionComponent } from 'react' import { ScrollViewProps } from '@tarojs/components/types/ScrollView' export type PullRefreshStatus = | 'normal' | 'loading' | 'loosing' | 'pulling' | 'success' interface PullRefreshProps { disabled?: boolean headHeight?: number | string successText?: string pullingText?: string loosingText?: string loadingText?: string pullDistance?: number | string successDuration?: number | string animationDuration?: number | string renderHead?: (params: { status: PullRefreshStatus distance: number }) => React.ReactNode | void } type eventType = { page: number pageSize: number } export interface PowerScrollViewProps extends PullRefreshProps, Omit { offset?: number total?: T children: React.ReactNode current?: number pageSize?: number minTriggerTopDistance?: number finished?: boolean errorText?: string loadingText?: string finishedText?: string immediateCheck?: boolean renderFinished?: React.ReactNode renderLoading?: React.ReactNode renderError?: React.ReactNode emptyDescription?: string emptyImage?: 'error' | 'search' | 'default' | 'network' | string onLoad?: (event: T extends number ? eventType : number) => Promise onRefresh?: (event: T extends number ? eventType : number) => Promise // Scroll onScrollToUpper?: ( event: T extends number ? eventType : number, ) => Promise onScrollToLower?: ( event: T extends number ? eventType : number, ) => Promise } // declare const PowerScrollView: FunctionComponent declare const PowerScrollView: ( props: PowerScrollViewProps, ) => React.ReactElement export { PowerScrollView }