import { IEventSearchService, SearchQuery, SearchResults, SearchResultItem, SearchFacets, SavedSearch, SearchIndexConfig } from '../interfaces/event-search.interfaces'; import { CalendarEvent } from '../interfaces/event.interfaces'; /** * Implementation of event search service * Provides comprehensive search and filtering capabilities for events */ export declare class EventSearchService implements IEventSearchService { private events; private savedSearches; private searchHistory; private indexConfig; initialize(config: SearchIndexConfig): Promise; buildIndex(events: CalendarEvent[]): Promise; addToIndex(event: CalendarEvent): Promise; updateInIndex(event: CalendarEvent): Promise; removeFromIndex(eventId: string): Promise; search(query: SearchQuery, page?: number, pageSize?: number): Promise; quickSearch(text: string, limit?: number): Promise; getSuggestions(partialText: string, limit?: number): Promise; getFacets(_query?: SearchQuery): Promise; saveSearch(name: string, query: SearchQuery, userId: string): Promise; getSavedSearches(userId?: string): Promise; deleteSavedSearch(searchId: string): Promise; executeSavedSearch(searchId: string): Promise; getAnalytics(): Promise; getSearchAnalytics(): Promise<{ totalSearches: number; topQueries: Array<{ query: string; count: number; }>; avgSearchTime: number; noResultsRate: number; }>; rebuildIndex(events?: CalendarEvent[]): Promise; exportSearchResults(results: SearchResults, format: string): Promise<{ data: string; filename: string; mimeType: string; }>; clearIndex(): Promise; getIndexStats(): Promise<{ totalEvents: number; indexSize: number; lastUpdated: Date; health: 'good' | 'degraded' | 'poor'; }>; private applyTextSearch; private applyFieldSearch; private applyDateRangeFilter; private applyAdvancedFilters; private calculateRelevanceScore; private getMatchedFields; private generateProperHighlights; private getMilliseconds; private applySorting; }