import * as React from 'react' import * as Immutable from 'immutable' import { ListViewProps, VirtualizedListProps } from 'react-native'; type Omit = Pick> // Heuristic check if data is Immutable type ImmutableData = { slice: (begin?: number, end?: number) => any; keySeq: () => any } export type ImmutableListViewProps = Omit & { immutableData: ImmutableData, dataSource?: never, sectionHeaderHasChanged?: (prevSectionData:any, nextSectionData:any) => boolean, rowsDuringInteraction?: number, renderEmpty?: string | React.FC, renderEmptyInList?: string | React.FC, } export declare class ImmutableListView extends React.Component {} export declare class EmptyListView extends React.Component & { dataSource?: never, renderRow?: React.FC, emptyText?: string, }> {} export type ImmutableVirtualizedListProps = VirtualizedListProps & { immutableData: ImmutableData, renderEmpty?: string | React.FC>, renderEmptyInList?: string | React.FC>, } export declare class ImmutableVirtualizedList extends React.Component> {} export declare class EmptyVirtualizedList extends React.Component & { renderItem: React.FC, emptyText: string }> {}