/**
 * @fileoverview Knowledge Hub Search Dashboard (Task 2)
 *
 * Google-style clean search experience with centered search bar,
 * grouped results, faceted sidebar filters, and "Ask Knowledge Agent" CTA.
 * Registered as BaseResourceComponent for the Knowledge Hub app.
 */
import { OnDestroy, AfterViewInit } from '@angular/core';
import { ResourceData } from '@memberjunction/core-entities';
import { BaseResourceComponent } from '@memberjunction/ng-shared';
import { SearchResultItem, SearchResultGroup, SearchFilter, SearchResultSelectedEvent, SearchFilterChangeEvent } from '@memberjunction/ng-search';
import { RecentSearch } from '@memberjunction/ng-search';
import * as i0 from "@angular/core";
/** Saved search entry */
interface SavedSearch {
    Query: string;
    FilterCount: number;
    SavedAt: Date;
}
export declare class KnowledgeSearchResourceComponent extends BaseResourceComponent implements AfterViewInit, OnDestroy {
    private cdr;
    private searchService;
    private injector;
    private navigationService;
    private destroy$;
    Query: string;
    IsSearching: boolean;
    HasSearched: boolean;
    ShowFilters: boolean;
    ShowResultDetail: boolean;
    DetailResult: SearchResultItem | null;
    AllResults: SearchResultItem[];
    ResultGroups: SearchResultGroup[];
    Filters: SearchFilter[];
    ActiveFilters: Record<string, string[]>;
    TotalCount: number;
    ElapsedMs: number;
    /** Minimum relevance score threshold (0-1). Results below this are hidden. */
    MinScoreThreshold: number;
    RecentSearches: RecentSearch[];
    SavedSearches: SavedSearch[];
    GetResourceDisplayName(_data: ResourceData): Promise<string>;
    GetResourceIconClass(_data: ResourceData): Promise<string>;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /** Execute a search query */
    RunSearch(): Promise<void>;
    /** Handle pressing Enter in the search box */
    OnSearchKeydown(event: KeyboardEvent): void;
    /** Handle selecting a result */
    OnResultSelected(event: SearchResultSelectedEvent): void;
    /** Handle "Open Record" — navigate to the entity record via NavigationService */
    OnOpenRecord(event: {
        EntityName: string;
        RecordID: string;
    }): void;
    /** Close the result detail view */
    CloseResultDetail(): void;
    /** Toggle the filter sidebar */
    ToggleFilters(): void;
    /** Handle a filter change from the filter component */
    OnFilterChanged(event: SearchFilterChangeEvent): void;
    /** Handle clearing all filters */
    OnFiltersCleared(): void;
    /** Handle relevance threshold slider change */
    OnThresholdChanged(value: number): void;
    /** Open the chat overlay with Knowledge Agent context */
    OnAskAgent(): void;
    /** Apply a recent search */
    ApplyRecentSearch(recent: RecentSearch): void;
    /** Clear the current search */
    ClearSearch(): void;
    /** Check if any filters are active */
    HasActiveFilters(): boolean;
    /** Parse URL parameters for deep links (e.g., ?conversationId=xxx or ?q=search+term) */
    private parseUrlParameters;
    private subscribeToSearchState;
    private applySearchResponse;
    static ɵfac: i0.ɵɵFactoryDeclaration<KnowledgeSearchResourceComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KnowledgeSearchResourceComponent, "app-knowledge-search-resource", never, {}, {}, never, never, false, never>;
}
/** Tree-shaking prevention */
export declare function LoadKnowledgeSearchResource(): void;
export {};
//# sourceMappingURL=knowledge-search-resource.component.d.ts.map