import { DomListener } from './DomListener'; import { SearchHistory } from './SearchHistory'; import { SearchJSApp } from '..'; import { Theme } from '../themes'; export declare class SearchComponent { private app; private domListener; private searchHistory; private theme; /** * the entire search js element * * @var {HTMLElement} element */ element: HTMLElement; /** * timer placeholder to handle search * * @var {number} searchTimer */ private searchTimer?; /** * class constructor * * @param {SearchJSApp} app * @param {DomListener} domListener * @param {SearchHistory} searchHistory * @param {Theme} theme */ constructor(app: SearchJSApp, domListener: DomListener, searchHistory: SearchHistory, theme: Theme); /** * handle search and show list on result * * @returns {void} */ private handleOnSearch; /** * get list of items from config and filter with keyword from search input * * @param {string} keyword * @returns {Array | null | undefined} */ private getItems; /** * get parent element to append search-js element * * @returns {HTMLElement} */ private getParentElement; private createElement; /** * show item lists * * @param {Array} items * @returns {void} */ private showSearchResult; /** * hide search result * * @returns {void} */ private hideSearchResult; /** * show history list * * @param {Array} items * @returns {void} */ private showHistory; /** * hide history * * @returns {void} */ private hideHistories; /** * listen on select and on remove event on item * * @return {void} */ private handleItemClickListener; /** * show loading * * @returns {void} */ private showLoading; /** * hide loading * * @returns {void} */ private hideLoading; }