///
import { BaseComponent } from '@uifabric/utilities/lib';
import { IDetailsListProps } from 'office-ui-fabric-react/lib-commonjs/DetailsList';
import { AsyncComponentState, IAsyncComponent } from '../models';
import { WithRouter } from '../withRouter';
export interface ListAttributes {
items: T[];
selectedItem: T;
rollbackItem: T;
}
export interface ListActions {
list(asyncKey: Symbol): any;
beginInsert(asyncKey: Symbol): any;
commit(asyncKey: Symbol, item: T): any;
delete(asyncKey: Symbol, item: T): any;
discardEdit(asyncKey: Symbol, item: T): any;
filterBy(asyncKey: Symbol, key: keyof T, val: any): any;
}
export declare type ListBaseProps = ListAttributes & ListActions;
export declare type ListProps = ListBaseProps & WithRouter> & ({
componentRef?: (x: IAsyncComponent) => void;
} | IDetailsListProps);
/**
* generic list view
*/
export declare class GenericList extends BaseComponent, AsyncComponentState> {
constructor(props: ListProps);
render(): JSX.Element;
private renderLoading;
}