import { HttpClient } from '@angular/common/http'; import { Store } from '@ngrx/store'; import { Observable } from 'rxjs'; import { FilterContext } from '../../model/filter.interface'; import { ResultOrder } from '../../model/result-order.interface'; import { ResultSet } from '../../model/result-set.interface'; import { MonoClassSearchPayload } from '../../model/search-mono-class.model'; import { FullTextSearchPayload, MultiClassSearchPayload } from '../../model/search-multi-class.model'; import { ConfigState } from '../config/config.reducer'; import { SearchState } from './search.reducer'; import * as i0 from "@angular/core"; export type ResultsetTransformation = (id: string, result: ResultSet) => ResultSet; export declare class SearchService { private httpClient; private store; transformations: ResultsetTransformation[]; filters: { [datasource: string]: FilterContext[]; }; constructor(httpClient: HttpClient, store: Store); /** * Request the result of a named query by its id * @param id of the data source to fetch * @param quickOrder if it has to be applied */ getItems(id: string, quickOrder?: ResultOrder): Observable; getItemsSerializedParams(id: string, quickOrder: any): string; getItemsFilter(id: string): string; getItemsParams(quickOrder: ResultOrder | undefined): { [key: string]: string; }; /** * Launch a search request (and saves it as current search) * @param condition */ search(condition: MonoClassSearchPayload | MultiClassSearchPayload | FullTextSearchPayload): Observable; /** * Allows to add a transformation function when getting results from backend * @param func */ addTransformation(func: ResultsetTransformation): void; /** * Apply all transformation functions * @param id * @param rs */ applyTransformations(id: string, rs: ResultSet): ResultSet; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }