import { Binding, Component, ControllerClass, ProviderMap } from '@loopback/core'; import { Class, Model, Repository } from '@loopback/repository'; import { RestApplication } from '@loopback/rest'; import { SearchServiceConfig } from './types'; export declare class SearchServiceComponent implements Component { private readonly application; private readonly config; constructor(application: RestApplication, config: SearchServiceConfig); /** * The function `_configureProvidersAndRepositories` sets up providers and repositories based on the * configuration for using Sequelize in a TypeScript application. */ private _configureProvidersAndRepositories; /** * The function `_setupSearchController` sets up a search controller based on configuration settings. * @returns If the condition `if (!this.config)` is true, then the function will return early and * nothing will be executed beyond that point. */ private _setupSearchController; getSearchableModelIdentifiers(config: SearchServiceConfig): string[]; providers: ProviderMap; bindings: Binding[]; /** * An optional list of Repository classes to bind for dependency injection * via `app.repository()` API. */ repositories?: Class>[]; /** * An optional list of Model classes to bind for dependency injection * via `app.model()` API. */ models?: Class[]; /** * An array of controller classes */ controllers?: ControllerClass[]; /** * Setup ServiceSequence by default if no other sequnce provided * * @param bindings Binding array */ setupSequence(): void; createResultModel(base: typeof Model, models: string[]): typeof Model; }