import type { IQService } from 'angular'; import { Subject } from 'rxjs'; import type { ProviderServiceDelegate } from '../../cloudProvider'; import type { ISearchResult } from '../search.service'; import type { SearchResultType } from '../searchResult'; import { SearchStatus } from '../searchResult/SearchStatus'; export interface ISearchResultSet { type: SearchResultType; results: T[]; status: SearchStatus; error?: any; query?: string; } export type ISearchResultFormatter = (entry: ISearchResult, fromRoute?: boolean) => string | PromiseLike; export interface IProviderResultFormatter { [category: string]: ISearchResultFormatter; } export declare class InfrastructureSearcher { private $q; private providerServiceDelegate; private deferred; querySubject: Subject; constructor($q: IQService, providerServiceDelegate: ProviderServiceDelegate); query(q: string): PromiseLike; getCategoryConfig(category: string): SearchResultType; formatRouteResult(category: string, entry: ISearchResult): PromiseLike; private formatResult; } export declare class InfrastructureSearchService { private $q; private providerServiceDelegate; static $inject: string[]; constructor($q: IQService, providerServiceDelegate: any); getSearcher(): InfrastructureSearcher; } export declare const INFRASTRUCTURE_SEARCH_SERVICE = "spinnaker.infrastructure.search.service";