import { Observable } from 'rxjs'; import { HttpService } from "../services/http.service"; import { AbstractModel } from "./abstract.model"; export declare abstract class AbstractService { protected httpService: HttpService; protected baseUrl: string; protected constructor(httpService: HttpService, baseUrl: string); getAll(): Observable>; getAllByCriteria(criteria: Criteria): Observable>; getById(id: string): Observable; create(item: T): Observable; update(item: T): Observable; updateCustomerByPage(item: T, section: string): Observable; delete(item: T): Observable; private appendQuery; } export interface QueryConfig { limit?: number; skip?: number; customerId?: string; } export interface Criteria { [key: string]: string | number | boolean | undefined | null; } export interface PaginationResult { count: number; items: Array; }