import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api'; import { DocumentTypeInfo } from '@backstage/plugin-search-common'; import { SearchEngine, RegisterCollatorParameters, RegisterDecoratorParameters } from '@backstage/plugin-search-backend-node'; /** * @alpha * Options for the init method on {@link SearchIndexService}. */ type SearchIndexServiceInitOptions = { searchEngine: SearchEngine; collators: RegisterCollatorParameters[]; decorators: RegisterDecoratorParameters[]; }; /** * @alpha * Interface for implementation of index service. */ interface SearchIndexService { /** * Initializes state in preparation for starting the search index service */ init(options: SearchIndexServiceInitOptions): void; /** * Starts indexing process */ start(): Promise; /** * Stops indexing process */ stop(): Promise; /** * Returns an index types list. */ getDocumentTypes(): Record; } /** * @alpha * Interface for search index registry extension point. */ interface SearchIndexRegistryExtensionPoint { addCollator(options: RegisterCollatorParameters): void; addDecorator(options: RegisterDecoratorParameters): void; } /** * @alpha * Interface for search engine registry extension point. */ interface SearchEngineRegistryExtensionPoint { setSearchEngine(searchEngine: SearchEngine): void; } /** * @alpha * Service that builds a search index. */ declare const searchIndexServiceRef: _backstage_backend_plugin_api.ServiceRef; /** * @alpha * Extension point for register a search engine. */ declare const searchEngineRegistryExtensionPoint: _backstage_backend_plugin_api.ExtensionPoint; /** * @alpha * Extension point for registering collators and decorators */ declare const searchIndexRegistryExtensionPoint: _backstage_backend_plugin_api.ExtensionPoint; export { searchEngineRegistryExtensionPoint, searchIndexRegistryExtensionPoint, searchIndexServiceRef }; export type { SearchEngineRegistryExtensionPoint, SearchIndexRegistryExtensionPoint, SearchIndexService, SearchIndexServiceInitOptions };