import * as React from 'react'; import { ResourceType } from '../core'; export interface RestfulCollectionProps { resourceType: ResourceType; initDataSource: Array; shouldAppendNewRecord?: boolean | ((newRecord: T, index: number) => boolean); sort?: (first: T, second: T) => number; filter?: (record: T, index: number, dataSource: T[]) => boolean; children: (data: Array) => React.ReactNode; onRecordRemove?: (record: T) => void; onNewRecordsMapping?: (records: T[]) => void; enablePaginationMode?: boolean; } interface RestfulCollectionState { needsUpdateSource?: boolean; dataSource: Array; initDataSource: Array; } export declare class RestfulCollection extends React.PureComponent, RestfulCollectionState> { static defaultProps: { shouldAppendNewRecord: boolean; }; private isUnmounting; private store; private unsubscribeStore; static getDerivedStateFromProps(nextProps: RestfulCollectionProps<{}>, currentState: RestfulCollectionState<{}>): { dataSource: {}[]; needsUpdateSource: boolean; initDataSource?: undefined; } | { dataSource: {}[]; initDataSource: {}[]; needsUpdateSource?: undefined; } | null; constructor(props: RestfulCollectionProps); componentDidMount(): void; componentWillUnmount(): void; private onStoreEvent; private onDataRemove; private isRecordExist; private manualMapping; private getEventRecords; private shouldAppendRecord; private replaceRecord; render(): {} | null | undefined; private getRenderDataSource; } export {};