import { AfterContentChecked, AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { Subscription } from 'rxjs'; import { TableService } from '../data-table/data-table.service'; import { TemplateNameDirective } from '../data-table/shared'; import { SelectService } from './select.service'; export declare class SelectChange { source: SelectComponent; value: any; constructor(source: SelectComponent, value: any); } export declare class SelectComponent implements AfterContentChecked, AfterContentInit, ControlValueAccessor { selectService: SelectService; tableService: TableService; el: ElementRef; private cd; overlayOpen: boolean; anchorWidth: any; _options: any[]; selectOptionsToDisplay: any[]; selectedOption: any; finalOption: any; selectedItemUpdated: boolean; value: any; filterValue: string; _selection: any; selectionKeys: any; preventPropagation: boolean; optionTemplate: TemplateRef; selectedOptionTemplate: TemplateRef; /** @prop set the scroll height of the overlay | '' */ scrollHeight: string; /** @prop set the placeholder for the select */ placeholder: string; /** @prop passes in the data table row index */ tableRowIndex: number; /** @prop set which key to show as the option label | '' */ optionLabel: string; /** @prop show the filter search | false */ filter: boolean; /** @prop set which key or keys the filter will use, filtering by multiple keys example: '[name, id]' | 'label' */ filterBy: string | string[]; /** @prop set how the string should be filtered | 'contains' */ filterMode: string; /** @prop set the filter search placeholder | '' */ filterPlaceholder: string; /** @prop set the aria-label on the filter input | '' */ ariaFilterLabel: string; /** @prop dataKey can be used to find selected options from multi-select, otherwise findIndex will run */ dataKey: string; /** @prop message to show when filter returns null | 'No Results Found' */ noResultsMessage: string; /** @prop set the height in px of each select option */ selectItemSize: number; /** @prop add optional css class to the overlay | null */ overlayClass: string; /** @prop add search icon on the filter search input | true */ hasSearchIcon: boolean; /** @prop set the select item options */ options: any[]; /** @prop sets the selection from multi-select */ selection: any; /** @prop set the inline style of the select button | null */ buttonStyle: Object; /** @prop Optional CSS button class name | '' */ buttonClass: string; /** @prop Optional CSS class on each select option */ optionClass: string; /** @prop Set the default value for the select | '' */ defaultValue: string; /** @prop Disable the Select Component | false */ disabled: boolean; /** @prop Set ID for Select Component | null */ id: string; /** @prop Optional prop to know if user is able to select multiple options | false */ isMulti: boolean; /** @prop show the warning message | false */ isWarn: boolean; /** @prop message to show when there is a warning | '' */ warnMsg: string; /** @prop show the error message | false */ isError: boolean; /** @prop message to show when there is a error | '' */ errorMsg: string; /** @prop emitter to fire the select option value change */ handleChange: EventEmitter; /** @prop emitter to fire after showing the overlay select options panel */ handleShow: EventEmitter; /**@prop emit function when multi-checked selection changes */ selectionChange: EventEmitter; /**@prop emit function when row is checked */ rowCheck: EventEmitter; /**@prop emit funciton when row is unchecked */ rowUncheck: EventEmitter; /**@prop emit function when the filter value changes */ filterValueChange: EventEmitter; originButton: any; filterViewChild: ElementRef; templates: QueryList; /** Handles keyboard events when the selected is open. */ _handleOpenKeydown: (event: any) => void; findPrevOption(index: any): any; findNextOption(index: any): any; makeSelectOptions(option: any[], label: string): any[]; updateSelectedItem(item: any): any; findSelectOption(item: any, options: any[]): any; findSelectOptionIndex(item: any, options: any[]): number; onFilter(event: any): void; startFilter(): void; resetFilter(): void; onSelectItemClick(event: any): void; private forceSelectItem; selectItem(_event: any, option: any): void; isSelected(rowData: any): boolean; toggleRowWithCheckbox(rowData: any): void; updateSelectionKeys(): void; constructor(selectService: SelectService, tableService: TableService, el: ElementRef, cd: ChangeDetectorRef); ngAfterContentChecked(): void; ngAfterContentInit(): void; toggle: () => void; open: () => void; close: () => void; onModelChange: Function; onModelTouched: Function; writeValue(value: any): void; registerOnChange(fn: Function): void; registerOnTouched(fn: Function): void; setDisabledState(isDisabled: boolean): void; private _setAnchorWidth; } export declare class SelectItemComponent { sc: SelectComponent; option: any; optionClass: any; selected: boolean; selectItemSize: number; template: TemplateRef; handleClick: EventEmitter; constructor(sc: SelectComponent); onSelectOptionClick(_event: Event): void; } export declare class SelectCheckboxComponent implements OnInit, OnDestroy { sc: SelectComponent; selectService: SelectService; data: any; label: string; className: string; id: string; checkStatus: boolean; subscription: Subscription; constructor(sc: SelectComponent, selectService: SelectService); ngOnInit(): void; handleClick(_event: Event): void; changeCheck(event: any): void; ngOnDestroy(): void; }