UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

80 lines 2.11 kB
import { EventEmitter } from 'events'; export interface SearchConfig { placeholder?: string; caseSensitive?: boolean; mode?: 'fuzzy' | 'exact' | 'contains'; searchFields?: string[]; maxHistory?: number; showSuggestions?: boolean; minChars?: number; debounceDelay?: number; } export interface SearchResult { item: any; score: number; matches: SearchMatch[]; index: number; } export interface SearchMatch { field: string; value: string; highlighted: string; positions: number[]; score: number; } export interface FilterCriteria { status?: string[]; type?: string[]; dateRange?: { start?: Date; end?: Date; }; custom?: (item: any) => boolean; } export declare class SearchPanel { private screen; private eventBus; private config; private searchBox; private resultsBox; private statusBox; private isVisible; private searchHistory; private currentQuery; private currentResults; private selectedIndex; private searchTimeout; private dataSource; private filterCriteria; constructor(screen: any, eventBus: EventEmitter, config?: SearchConfig); show(): void; hide(): void; setDataSource(data: any[]): void; setFilterCriteria(criteria: FilterCriteria): void; getResults(): SearchResult[]; getSelectedResult(): SearchResult | null; isSearchVisible(): boolean; clearSearch(): void; navigateUp(): void; navigateDown(): void; selectResult(): void; private createSearchInterface; private setupSearchEvents; private handleSearchInput; private performSearch; private applyFilters; private fuzzySearch; private exactSearch; private containsSearch; private calculateFuzzyMatch; private calculateExactMatch; private highlightMatches; private getFieldValue; private updateResultsDisplay; private updateStatusDisplay; private addToHistory; getSearchHistory(): string[]; clearHistory(): void; destroy(): void; } //# sourceMappingURL=search-panel.d.ts.map