import { ElementRef, EventEmitter } from '@angular/core'; import { FormControl } from '@angular/forms'; import { BehaviorSubject } from 'rxjs'; import { MenuItem } from '../falconTypes'; import * as i0 from "@angular/core"; export declare class CoreSelectSearchComponent { private elRef; selectedItem: MenuItem; focusItem: MenuItem | undefined; titleKeyObject: keyof string | number; valueKeyObject: keyof string | number; newItems: MenuItem[]; isOpenMenu: boolean; _items: any; keys: string[]; searchText: T | undefined; currentItemIndex: number; randomId: number; _defaultValue: T; /** * Key to use for displaying the title of each item * @param string - Property name from the item object to display as title * @example * */ titleKey: string; /** * Key to use for the value of each item * @param string - Property name from the item object to use as value * @example * */ valueKey: string; /** * Size of the select component * @param string - CSS class for size customization (default: 'small') * @example * */ size: string; /** * Comma-separated keys to search in items * @param string - Keys separated by comma for search functionality * @example * */ searchKeys: string; /** * Enable adding titleKey and valueKey to search keys automatically * @param boolean - true to add keys to search (default: true) * @example * */ canAddValueKeyAndTitleKeyInSearchKeys: boolean; /** * Highlight background when item is selected * @param boolean - true to highlight background * @example * */ canHighlightBackground: boolean; /** * Array of items to display in the dropdown * @param any - Array of objects with title and value properties * @example * */ set items(data: any); /** * Default selected value * @param T - The default value to be selected initially * @example * */ set defaultValue(data: T); /** * Label text for the select component * @param string - Label to display above the select * @example * */ label: string; /** * Disabled state of the select component * @param boolean - true to disable the select * @example * */ disabled: boolean; /** * Event emitted when an item is selected * @param EventEmitter - Emits the selected item object * @example * */ onItemSelected: EventEmitter; /** * FormControl for form validation and value management * @param FormControl - Angular FormControl instance * @example * */ inputFormControl: FormControl; filteredItems: BehaviorSubject; inputElement: ElementRef; constructor(elRef: ElementRef); init(): void; onClearInputClicked(): void; ngOnInit(): void; handleKeyBoard(event: KeyboardEvent): void; itemSelect(selectedItem: MenuItem | undefined, isFromUi: boolean): void; onItemSelect(event: Event, selectedItem: MenuItem | undefined, isFromUi: boolean): void; changeItemsType(items: any[]): MenuItem[]; onChangeText(event?: KeyboardEvent | undefined, canOpenMenu?: boolean): Promise; setInputFocus(): void; focus(): void; openMenuClick(): void; private scrollToActive; focusOut(event: FocusEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "core-select-search", never, { "titleKey": { "alias": "titleKey"; "required": false; }; "valueKey": { "alias": "valueKey"; "required": false; }; "size": { "alias": "size"; "required": false; }; "searchKeys": { "alias": "searchKeys"; "required": false; }; "canAddValueKeyAndTitleKeyInSearchKeys": { "alias": "canAddValueKeyAndTitleKeyInSearchKeys"; "required": false; }; "canHighlightBackground": { "alias": "canHighlightBackground"; "required": false; }; "items": { "alias": "items"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "inputFormControl": { "alias": "inputFormControl"; "required": false; }; }, { "onItemSelected": "onItemSelected"; }, never, never, false, never>; }