import { Observable } from "rxjs"; import { IServiceResponse } from "../../../../services/external-api/response-interfaces"; import { DataService } from "../../../../services/external-api/data.service"; import { ConfigurationManager } from "../../../../store/configuration-manager/configuration-manager"; export declare type DataSetWorkMode = 'page' | 'list'; export interface IDataSet { dataSet: Array; rawDataSet: Array; next: boolean; limit: number; offset: number; allDataFetched: boolean; } declare type RdfDataFnc = (service: DataService, offset: number, limit: number, searchStr: string, param: object, configurationManager: ConfigurationManager) => Observable; declare type RdfMapFnc = (item: object) => T; /** * Класс для работы с паджинированными данными на сервере. Позволяет осуществлять поиск на сервере (если сервис поддерживает), сдвигаться вперед и назад */ export declare class RdfDataSet { private dataService; private configurationManager; private dataFunc; private mapFunc; private workMode; private limit; private dataSourceParam; currentOffset: number; searchStr: string; dataSet: IDataSet; constructor(dataService: DataService, configurationManager: ConfigurationManager, dataFunc: RdfDataFnc, mapFunc: RdfMapFnc, workMode?: DataSetWorkMode, limit?: number, dataSourceParam?: {}); /** * Получить данные с сервера * @param searchStr - строка поиска * @param offset - смещение */ fetch(searchStr?: string, offset?: number): Observable>; /** * Сдвинуться вперед */ next(): Observable>; /** * Сдвинуться назад */ prev(): Observable>; } export {};