import { FilterMetadata , SortMetadata } from '../../ng-data-table/base/types' ; export interface DataSource { getItems ( requestMeta ) : Promise < PagedResult > ; getItem ( row ) : Promise < any > ; post ( row ) : Promise < any > ; put ( row ) : Promise < any > ; delete ( row ) : Promise < any > ; getOptions ? ( url , parentId ) : Promise < any > ; } export interface RequestMetadata { pageMeta : PageMetadata ; sortMeta : SortMetadata [ ] ; filters : FilterMetadata ; globalFilterValue ? : string ; } export interface PagedResult { items : any [ ] ; _meta : PageMetadata ; } export interface PageMetadata { currentPage : number ; perPage : number ; totalCount ? : number ; pageCount ? : number ; maxRowCount ? : number ; }