import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api'; import * as react from 'react'; import { JSX as JSX$1 } from 'react'; import { ListItemProps } from '@material-ui/core/ListItem'; import { SearchDocument, SearchResult } from '@backstage/plugin-search-common'; /** @alpha */ type BaseSearchResultListItemProps = T & { rank?: number; result?: SearchDocument; icon?: JSX$1.Element; } & Omit; /** @alpha */ type SearchResultItemExtensionComponent =

(props: P) => JSX$1.Element | null; /** @alpha */ type SearchResultItemExtensionPredicate = (result: SearchResult) => boolean; /** @alpha */ type SearchFilterExtensionComponentProps = { className: string; }; /** @alpha */ type SearchFilterExtensionComponent = (props: SearchFilterExtensionComponentProps) => JSX$1.Element; /** @alpha */ interface SearchResultListItemBlueprintParams { /** * The extension component. */ component: (options: { config: { noTrack?: boolean; }; }) => Promise; /** * When an extension defines a predicate, it returns true if the result should be rendered by that extension. * Defaults to a predicate that returns true, which means it renders all sorts of results. */ predicate?: SearchResultItemExtensionPredicate; /** * The icon of the result item. */ icon?: JSX$1.Element; } /** * @alpha * Creates SearchResultListItem extensions */ declare const SearchResultListItemBlueprint: _backstage_frontend_plugin_api.ExtensionBlueprint<{ kind: "search-result-list-item"; params: SearchResultListItemBlueprintParams; output: _backstage_frontend_plugin_api.ExtensionDataRef<{ predicate?: SearchResultItemExtensionPredicate; component: SearchResultItemExtensionComponent; icon?: JSX$1.Element; }, "search.search-result-list-item.item", {}>; inputs: {}; config: { noTrack: boolean; }; configInput: { noTrack?: boolean | undefined; }; dataRefs: { item: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<{ predicate?: SearchResultItemExtensionPredicate; component: SearchResultItemExtensionComponent; icon?: JSX$1.Element; }, "search.search-result-list-item.item", {}>; }; }>; /** @alpha */ interface SearchFilterResultTypeBlueprintParams { /** * The value of the result type. */ value: string; /** * The name of the result type. */ name: string; /** * The icon of the result type. */ icon: JSX.Element; } /** * @alpha */ declare const SearchFilterResultTypeBlueprint: _backstage_frontend_plugin_api.ExtensionBlueprint<{ kind: "search-filter-result-type"; params: SearchFilterResultTypeBlueprintParams; output: _backstage_frontend_plugin_api.ExtensionDataRef<{ value: string; name: string; icon: react.JSX.Element; }, "search.filters.result-types.type", {}>; inputs: {}; config: {}; configInput: {}; dataRefs: { resultType: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<{ value: string; name: string; icon: react.JSX.Element; }, "search.filters.result-types.type", {}>; }; }>; /** @alpha */ interface SearchFilterBlueprintParams { component: SearchFilterExtensionComponent; } /** * @alpha */ declare const SearchFilterBlueprint: _backstage_frontend_plugin_api.ExtensionBlueprint<{ kind: "search-filter"; params: SearchFilterBlueprintParams; output: _backstage_frontend_plugin_api.ExtensionDataRef<{ component: SearchFilterExtensionComponent; }, "search.filters.filter", {}>; inputs: {}; config: {}; configInput: {}; dataRefs: { searchFilters: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<{ component: SearchFilterExtensionComponent; }, "search.filters.filter", {}>; }; }>; /** * @alpha * @deprecated Import from `@backstage/plugin-search-react` instead. */ declare const searchReactTranslationRef: _backstage_frontend_plugin_api.TranslationRef<"search-react", { readonly "searchBar.title": "Search"; readonly "searchBar.placeholder": "Search in {{org}}"; readonly "searchBar.clearButtonTitle": "Clear"; readonly "searchFilter.allOptionTitle": "All"; readonly "searchPagination.limitLabel": "Results per page:"; readonly "searchPagination.limitText": "of {{num}}"; readonly noResultsDescription: "Sorry, no results were found"; readonly "searchResultGroup.linkTitle": "See All"; readonly "searchResultGroup.addFilterButtonTitle": "Add filter"; readonly "searchResultPager.next": "Next"; readonly "searchResultPager.previous": "Previous"; }>; export { SearchFilterBlueprint, SearchFilterResultTypeBlueprint, SearchResultListItemBlueprint, searchReactTranslationRef }; export type { BaseSearchResultListItemProps, SearchFilterBlueprintParams, SearchFilterExtensionComponent, SearchFilterExtensionComponentProps, SearchFilterResultTypeBlueprintParams, SearchResultItemExtensionComponent, SearchResultItemExtensionPredicate, SearchResultListItemBlueprintParams };