///
import { ViewStyle } from 'react-native';
import { RecyclerListViewProps } from 'recyclerlistview/dist/reactnative/core/RecyclerListView';
import { LayoutProviderTypes } from './LayoutUtil';
export declare type GenericObjectType = {
[k: string]: T;
};
export declare type RowRenderer = (type: string | number, data: any, index: number, extendedState?: object) => JSX.Element | JSX.Element[] | null;
interface RLVProps extends Omit {
rowRenderer: RowRenderer;
getData: (skip: number, limit: number) => Promise<[]>;
limit?: number;
layoutProviderType?: LayoutProviderTypes;
containerStyle?: ViewStyle;
rlvStyle?: ViewStyle;
rlvContentContainerStyle?: ViewStyle;
cellHeight?: number;
noDataMessageRenderer?: () => JSX.Element | JSX.Element[] | undefined;
updateDataProvider?: (callback: (id: string, newUpdateData: GenericObjectType) => void) => void;
getDataById?: (callback: (id: string) => GenericObjectType) => void;
setNewData?: (callback: (newData: any[]) => void) => void;
componentId?: string;
}
export default function RLV(props: RLVProps): JSX.Element;
export {};