import { EventEmitter, OnInit, ElementRef } from "@angular/core"; import { ControlValueAccessor } from "@angular/forms"; import { TreeSelectOption, SelectedBadge } from "./multiselect-data"; import * as i0 from "@angular/core"; /** * Directive to detect clicks outside an element */ export declare class ClickOutsideDirective { private elementRef; clickOutside: EventEmitter; constructor(elementRef: ElementRef); onClick(event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class MultiselectComponent implements OnInit, ControlValueAccessor { private onChange; private onTouched; private _disabled; label?: string; placeholder: string; error?: string; options: TreeSelectOption[]; value: TreeSelectOption[] | string[]; id: string; selectionChange: EventEmitter; set disabled(value: boolean); get disabled(): boolean; styles: { wrapperClass: string; labelClass: string; selectClass: string; selectTextClass: string; placeholderClass: string; selectedTextClass: string; dropdownIconClass: string; dropdownClass: string; dropdownContentClass: string; searchWrapperClass: string; searchIconClass: string; searchInputClass: string; optionClass: string; optionSelectedClass: string; indentationClasses: string[]; expandIconClass: string; checkboxClass: string; checkboxSelectedClass: string; checkboxUnselectedClass: string; checkmarkIconClass: string; optionLabelClass: string; optionLabelSelectedClass: string; selectedBadgesClass: string; badgeClass: string; badgeCloseClass: string; noResultsClass: string; errorClass: string; indentClass: string; }; isOpen: boolean; searchText: string; selectedBadges: SelectedBadge[]; processedOptions: TreeSelectOption[]; filteredOptions: TreeSelectOption[]; ngOnInit(): void; /** * Process the options to add level and parent references */ processOptions(): void; /** * Recursively process tree options to add level and parent references */ private processTreeOptions; /** * Toggle dropdown visibility */ toggleDropdown(): void; /** * Close dropdown when clicking outside */ closeDropdown(): void; /** * Toggle option expanded state */ toggleExpand(option: TreeSelectOption, event: Event): void; /** * Toggle option selection */ toggleSelection(option: TreeSelectOption, event: Event): void; /** * Set selection state for all children */ private setChildrenSelection; /** * Update parent selection based on children */ private updateParentSelection; /** * Update selected badges based on current selection */ private updateSelectedBadges; /** * Recursively collect selected badges */ private collectSelectedBadges; /** * Remove a selected badge */ removeBadge(badge: SelectedBadge): void; /** * Deselect an option by value */ private deselectOption; /** * Emit selection change event with all selected options */ private emitSelectionChange; /** * Collect all selected options */ private collectSelectedOptions; /** * Filter options based on search text */ filterOptions(options: TreeSelectOption[]): TreeSelectOption[]; /** * Handle search input changes */ onSearchInput(): void; /** * Check if option should be visible based on search */ isVisible(option: TreeSelectOption): boolean; /** * Get the appropriate indentation class based on the level */ getIndentationClass(level: number): string; /** * Reset all selections in the options tree */ private resetSelection; /** * Handle pre-selected values from form control */ private handlePreselectedValues; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }