import { nothing, TemplateResult } from 'lit'; import { SelectOption } from '../select.types.js'; import { SearchController } from '../interfaces/index.js'; import { BaseSelectController } from './base.controller.js'; /** * Search controller manages search/filter functionality for the select component */ export declare class SelectSearchController extends BaseSelectController implements SearchController { private _searchQuery; /** * Get current search query */ get searchQuery(): string; /** * Check if search is active */ get hasSearch(): boolean; /** * Set search query and trigger update */ setSearchQuery(query: string): void; /** * Search for options with given query */ search(query: string): void; /** * Clear search query */ clearSearch(): void; /** * Filter options based on current search query */ getFilteredOptions(options: SelectOption[]): SelectOption[]; /** * Handle search input changes */ handleSearchInput: (event: CustomEvent) => void; /** * Handle search clear button click */ handleSearchClear: () => void; /** * Handle search input key events */ handleSearchKeyDown: (event: KeyboardEvent) => void; /** * Render search input when searchable is enabled */ renderSearchInput(): TemplateResult | typeof nothing; /** * Render "no results" message when search returns no results */ renderNoResults(): TemplateResult; /** * Check if there are no search results */ hasNoResults(options: SelectOption[]): boolean; /** * Get search query from the component (useful for external access) */ getCurrentQuery(): string; /** * Update internal query to match host's searchQuery on updates */ hostUpdated(): void; /** * Reset search state when component initializes */ hostConnected(): void; } //# sourceMappingURL=search.controller.d.ts.map