import * as i0 from '@angular/core'; import { TemplateRef, AfterViewInit, EventEmitter, ElementRef, Injector, ComponentRef, OnChanges, SimpleChanges } from '@angular/core'; import { Observable, ReplaySubject, Subject } from 'rxjs'; import { OverlayRef, Overlay } from '@angular/cdk/overlay'; interface SearchConfig { resultStatusTemplate?: TemplateRef; emptySearchTemplate?: TemplateRef; resultItemTemplate?: TemplateRef; groupBy?: string; showFilter?: boolean; itemDivider?: boolean; groupDivider?: boolean; maxItems?: number; itemsLayout?: 'row' | 'column'; searchTermChange: CallableFunction; itemClick: CallableFunction; searchClose: CallableFunction; results: Observable; } declare class SearchOverlayRef { private readonly overlay; constructor(overlay: OverlayRef); close(): void; } interface ResultGroup { key: string; value: any; selected?: boolean; } declare class GlobalSearchOverlayComponent implements AfterViewInit { private readonly ref; private config; animationState: 'void' | 'enter' | 'leave'; results$: ReplaySubject; resultsShown: number; resultsFound: number; filterSize: number; searchValue: string; searchTime: string; resultStatusTemplate: i0.TemplateRef | null; emptySearchTemplate: i0.TemplateRef | null; resultItemTemplate: i0.TemplateRef | null; groupBy: string | undefined; showFilter: boolean | undefined; maxItems: number | undefined; itemDivider: boolean | undefined; groupDivider: boolean | undefined; itemsLayout: "row" | "column" | undefined; results: Observable; searchTermChange: EventEmitter; itemClick: EventEmitter; searchClose: EventEmitter; searchInput: ElementRef; private searchDebounce; constructor(ref: SearchOverlayRef, config: SearchConfig); handleKeydown(event: KeyboardEvent): void; ngAfterViewInit(): void; closeSearch(): void; onItemClick(item: any): void; onItemKeydown(event: KeyboardEvent, item: any): void; toggleFilter(resultGroup: ResultGroup): void; private get; private groupByResults; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } type GlobalSearchOverlay = [SearchOverlayRef, ComponentRef]; declare class GlobalSearchOverlayService { private overlay; private parentInjector; constructor(overlay: Overlay, parentInjector: Injector); open(config?: SearchConfig): GlobalSearchOverlay; getInjector(config: SearchConfig, overlayRef: SearchOverlayRef): i0.DestroyableInjector; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class UxgGlobalSearch implements OnChanges { private overlayService; groupBy?: string; resultItemTemplate?: TemplateRef; emptySearchTemplate?: TemplateRef; resultStatusTemplate?: TemplateRef; showFilter: boolean; maxItems?: number; itemDivider: boolean; groupDivider: boolean; itemsLayout: 'row' | 'column'; results: any[]; resultItemClick: EventEmitter; searchTermChange: EventEmitter; searchClose: EventEmitter; results$: Subject; get searchInput(): ElementRef; constructor(overlayService: GlobalSearchOverlayService); private ref?; private componentRef?; openSearch(): void; closeSearch(): void; ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { GlobalSearchOverlayComponent, UxgGlobalSearch }; export type { ResultGroup };