import { ElementRef, EventEmitter, OnInit } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute } from '@angular/router'; import { CanDestroyNotify } from '@mtna/lib-ui'; import { MtnaSortedColumn } from '@mtna/lib-ui/header-sort'; import { MtnaBaseSearchFacade, MtnaInMemorySecondarySearchFacade } from '@mtna/lib-ui/search-state'; import { Filter, MtnaSearchService } from '@mtna/search-manager-ui'; import { Observable } from 'rxjs'; import { MtnaSearchConfig, MtnaSubResultSelectedEvent } from '../../models'; import { MtnaSearchSelectionService } from '../../services'; import * as i0 from "@angular/core"; declare const _MtnaSearchBase: import("@mtna/lib-ui").CanDestroyNotifyCtor & { new (): {}; }; export declare abstract class MtnaSearchComponent extends _MtnaSearchBase implements CanDestroyNotify, OnInit { protected dialog: MatDialog; protected route: ActivatedRoute; protected searchFacade: MtnaBaseSearchFacade; protected subResultFacade: MtnaInMemorySecondarySearchFacade; selectionService: MtnaSearchSelectionService; actionContainer?: ElementRef; canLoadMore$: Observable; displayFields$: Observable; facetCounts$: Observable<{ [key: string]: import("@mtna/search-manager-ui").FacetCount; }>; filters$: Observable; loadingOrSearching$: Observable; results$: Observable; resultsFound$: Observable; resultsShowing$: Observable; searchFields$: Observable; searchText$: Observable; sortableFields$: Observable; target$: Observable; downloads$: Observable; _downloadUrl: string | undefined; sortedColumns$: Observable; filterReset: EventEmitter; abstract get config(): MtnaSearchConfig; _TEXT_Reset_filters: string; constructor(dialog: MatDialog, route: ActivatedRoute, searchFacade: MtnaBaseSearchFacade, subResultFacade: MtnaInMemorySecondarySearchFacade, selectionService: MtnaSearchSelectionService, searchService: MtnaSearchService); filter(filter: Filter): void; handleFilterReset(): void; loadMore(): void; ngOnInit(): void; searchText(searchText: string): void; /** * Show sub results in a search dialog. * @param event The event describing the selected sub result. */ showSubResults(event: MtnaSubResultSelectedEvent): void; sort(sortedColumn: MtnaSortedColumn): void; /** * Subscribes to route data & provides an {@link MtnaSearchConfig}, if present. * @returns An MtnaSearchConfig, if provided in the route data. * @note This returns a HOT observable, but will close itself upon component destruction. * @note This function is useful for when the search feature is imported by a consumer on * 2 or more sibling routes. This ensures the search configuration & search state are * refreshed on route change, thereby triggering a fresh search, which otherwise would not happen * for sibling routes due to the search component not being destroyed/reinitialized. */ protected _intitializeRouteDataConfigSubscriber(): Observable; /** * Handles resetting the search state & triggering an initial search, if an initial search * query was provided in the configuration. */ protected _initialSearchActions(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, {}, { "filterReset": "filterReset"; }, never>; } export {};