import { nothing, PropertyValues } from "lit"; import { ElementDefinitionsMap, FtLitElement, ParametrizedLabelResolver } from "@fluid-topics/ft-wc-utils"; import { FluidTopicsApi, FtSearchFacet, FtSearchFacetConf, FtSearchLocale, FtSearchPreset, FtSearchPrior, FtSearchRequest, FtSuggestRequest, FtSuggestResult } from "@fluid-topics/public-api"; import { FtButton } from "@fluid-topics/ft-button"; import { SuggestManager } from "./managers/SuggestManager"; import { FacetsChipsManager } from "./managers/FacetsChipsManager"; import { MobileSearchBarManager } from "./managers/MobileSearchBarManager"; import { DesktopSearchBarManager } from "./managers/DesktopSearchBarManager"; import { DisplayMode, FtSearchBarLabels, FtSearchBarProperties } from "./ft-search-bar.properties"; declare global { interface Window { fluidtopics?: { FluidTopicsApi: new (tenantBaseUrl: string, integrationIdentifier: string, overrideIdentifierIfOnTenant?: boolean) => FluidTopicsApi; }; } } export declare const DEFAULT_LABELS: FtSearchBarLabels; export declare class SearchStateChangeEvent extends CustomEvent { constructor(request: FtSearchRequest); } export declare class FtSearchBar extends FtLitElement implements FtSearchBarProperties { static elementDefinitions: ElementDefinitionsMap; static styles: (import("lit").CSSResult | import("lit").CSSResult[])[]; dense: boolean; mode?: DisplayMode; forceMobileMenuOpen: boolean; forceMenuOpen: boolean; baseUrl: string; apiIntegrationIdentifier: string; contentLocale?: string; availableContentLocales: Array; private availableContentLocalesInitialized; uiLocale?: string; labels: FtSearchBarLabels; labelResolver: ParametrizedLabelResolver; displayedFilters: Array; presets?: Array; selectedPreset?: string; priors?: Array; searchRequestSerializer: (request: FtSearchRequest) => string; focusOnDisplay: boolean; private metadataFilters; private sizeCategory; displayFacets: boolean; mobileMenuOpen: boolean; isMobileMenuOpen(): boolean; facets: Array; private facetsInitialized; private knownFacetLabels; private container?; private filtersOpener?; private floatingContainer?; private scrollingFiltersContainer?; input?: HTMLInputElement; launchSearchButton?: FtButton; query: string; suggestions: Array; recentSearches: Array; scrollToFacet?: string; api?: FluidTopicsApi; reactToFocus: boolean; displaySuggestListbox: boolean; selectedSuggestOptionId?: string; selectedSuggestRemoveRecent?: boolean; suggestManager: SuggestManager; selectedFacetsManager: FacetsChipsManager; desktopSearchBarManager: DesktopSearchBarManager; mobileSearchBarManager: MobileSearchBarManager; get request(): FtSearchRequest; get facetsRequest(): Array; get suggestRequest(): FtSuggestRequest; isMobile(): boolean; hasFacets(): boolean; private get hasPresets(); private get hasPriors(); hasLocaleSelector(): boolean; focus(): void; focusInput(react?: boolean): Promise; clear(): void; protected render(): import("lit-html").TemplateResult<1>; private renderLiveText; protected renderSearchBar(): import("lit-html").TemplateResult<1>; renderMobileFacets(): import("lit-html").TemplateResult<1>; private getContentLocaleRadioGroup; renderDesktopMenu(): typeof nothing | import("lit-html").TemplateResult<1>; renderFacetsActions(): import("lit-html").TemplateResult<1>; private renderDesktopClearFilters; private renderDesktopFacets; protected firstUpdated(props: PropertyValues): Promise; protected update(props: PropertyValues): void; private stateChangeEventDebouncer; private dispatchStateChangeEvent; private updateLocalesDebouncer; private initSearchData; facetsLoaded: boolean; private updateFacetsDebouncer; private updateFacets; protected contentAvailableCallback(props: PropertyValues): void; private initApi; private retrieveFacetsFromSearch; private onFloatingContainerKeyUp; setQuery(query: string): void; onLaunchSearch(): void; private get recentSearchesStorageKey(); private initRecentSearches; saveRecentSearches(): void; private closeFloatingContainer; private closeSuggestListbox; connectedCallback(): Promise; disconnectedCallback(): void; private updateSize; setFilter(key: string, selectedValues: Array): void; private compareUnknownFilters; private compareValueFilters; private compareDateFilters; private compareRangeFilters; private compareFilters; private compareRequests; private setFiltersFromPreset; private clearFilters; querySelector(selectors: string): HTMLElement | null; querySelectorAll(selectors: string): NodeListOf; renderDesktopFloatingMenu(): typeof nothing | import("lit-html").TemplateResult<1>; get ariaActiveDescendent(): string | undefined; }