import { HttpClient, HttpParams } from '@angular/common/http'; import { Observable } from 'rxjs'; import { IFilterPagination, IPaginator } from '@devstroupe/devkit-core'; export interface IBaseCrudService { list(filter?: IFilterPagination): Observable>; findOne(id: number | string): Observable; create(data: Partial): Observable; update(id: number | string, data: Partial): Observable; delete(id: number | string): Observable; } export declare abstract class BaseService implements IBaseCrudService { protected readonly http: HttpClient; protected readonly apiUrl: string; protected constructor(http: HttpClient, apiUrl: string); list(filter?: IFilterPagination): Observable>; protected toHttpParams(filter: IFilterPagination): HttpParams; protected afterList(_result: IPaginator): void; findOne(id: number | string): Observable; protected afterFindOne(_result: T): void; create(data: Partial): Observable; protected afterCreate(_result: T): void; update(id: number | string, data: Partial): Observable; protected afterUpdate(_result: T): void; delete(id: number | string): Observable; protected afterDelete(_id: number | string): void; }