import { NgxExcelModelColumnRule, NgxExcelModelColumnRules } from '../models/models'; import { INgxExcelDataSource } from './ngx-excel-data-source'; import { Observable } from 'rxjs'; export declare abstract class NgxExcelDataService extends INgxExcelDataSource { protected dataSet: T[]; protected rules: { [name in keyof T]: NgxExcelModelColumnRule; }; protected additionalRules: { [name in keyof T]?: NgxExcelModelColumnRule; }; protected metas: { [name: string]: any; }; /** * @inheritdoc */ getRule(name: string): NgxExcelModelColumnRule; /** * 获得所有字段的模型规则 */ getRules(): NgxExcelModelColumnRules; /** * @inheritdoc */ getPrimaryKey(model: T): string; /** * @inheritdoc */ getResponseMetas(): { [name: string]: any; }; /** * @inheritdoc */ getList(filters?: { [name: string]: string | string[]; }, page?: number, pageSize?: number): Observable; /** * 绑定数据集 * @param dataSet 数据集 */ bindDataSet(dataSet: T[]): void; /** * 获得全量数据集 */ getDataSet(): T[]; /** * 更新或创建实例模型 * @param payload 请求参数或模型对象 * @param primaryKey 模型主键(如提供主键代表更新模型, 否则创建模型) */ save(payload: { [name: string]: any; }, primaryKey?: string): Observable; /** * 判断模型是否满足条件 * @param model 待判断的模型 * @param filters 条件 */ protected match(model: T, filters?: { [name: string]: string | string[]; }): boolean; }