import { ComponentType } from 'react';
import { ListRenderItem } from 'react-native';
export interface Data<ItemT = any> {
    items: ItemT[];
    [key: string]: any;
}
export declare type DataSourceParams<ItemT> = {
    previousResponse?: Data<ItemT>;
    items: ItemT[];
};
export declare type DataSource<ItemT> = (params: DataSourceParams<ItemT>) => Promise<Data<ItemT>>;
export declare type HeaderComponentProps<ItemT> = {
    data?: Data<ItemT>;
};
export interface FlatListProps<ItemT = any> {
    itemComponent: ListRenderItem<ItemT>;
    headerComponent?: ComponentType<HeaderComponentProps<ItemT>>;
    dataSource: DataSource<ItemT>;
}
