import { Provider } from '@loopback/context'; import { AnyObject } from '@loopback/repository'; import { SearchQuery } from '../models'; import { SearchServiceConfig } from '../types'; export type ModelProviderFn = (search: SearchQuery, queryBuilder: AnyObject) => Promise<{ query: string; params: AnyObject; }>; export declare class SearchModelProvider implements Provider { private readonly config; constructor(config: SearchServiceConfig); /** * The function returns a ModelProviderFn that asynchronously builds a query and parameters based on * search criteria and model configuration. * @returns The `value()` function returns a ModelProviderFn, which is an asynchronous function that * takes a `search` object and a `queryBuilder` object as parameters. Inside the function, it filters * models based on the search criteria, builds a query and parameters using the queryBuilder, and * returns an object containing the query and params. */ value(): ModelProviderFn; }