import { NgxExcelModelColumnRules, NgxExcelModelColumnRule } from '../models/models'; import { Observable } from 'rxjs'; export declare abstract class INgxExcelDataSource { /** * 获得模型主键值 * @param model 模型 */ abstract getPrimaryKey(model: T): string; /** * 获得所有字段的模型规则 */ abstract getRules(): NgxExcelModelColumnRules; /** * 获得指定字段的模型规则(服务穿透) * @param name 字段名 */ abstract getRule(name: string): NgxExcelModelColumnRule; /** * 获得服务器响应最后一次响应的元数据 */ abstract getResponseMetas(): { [name: string]: any; }; /** * 获得模型列表的资源响应 * @param filters 请求列表筛选参数 * @param page 页码 * @param pageSize 页面长度 */ abstract getList(filters?: { [name: string]: string | string[]; }, page?: number, pageSize?: number): Observable; /** * 更新或创建实例模型 * @param payload 请求参数或模型对象 * @param primaryKey 模型主键(如提供主键代表更新模型, 否则创建模型) */ abstract save(payload: { [name: string]: any; }, primaryKey?: string): Observable; }