import * as _angular_forms from '@angular/forms'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import * as _angular_material_form_field from '@angular/material/form-field'; import { MatFormFieldControl } from '@angular/material/form-field'; import * as _angular_core from '@angular/core'; import { Provider, OnDestroy, AfterViewInit, ElementRef } from '@angular/core'; import { MatCheckboxChange } from '@angular/material/checkbox'; import { Subject } from 'rxjs'; import { TranslationService, TranslationLabels } from '@moxa/formoxa/mx-shared'; interface MxSelectSearchOption { label: string; value: any; disabled?: boolean; tooltip?: string; groupName?: string; tooltipDisabled?: boolean; } interface MxSelectSearchIntlLabels extends TranslationLabels { searchLabel: string; selectAllLabel: string; clearSelectionLabel: string; selectedLabel: string; totalLabel: string; matchFoundLabel: string; } declare class MxSelectSearchIntlService extends TranslationService { defaultLabels: MxSelectSearchIntlLabels; constructor(); static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare const MX_SELECT_SEARCH_INTL_PROVIDER: Provider; interface OptionItem { label: string; value: string; hidden: boolean; disabled?: boolean; tooltip?: string; tooltipDisabled?: boolean; } interface OptionGroupItem { groupName: string; children: OptionItem[]; isExpanded: boolean; } declare class MxSelectSearchComponent implements ControlValueAccessor, MatFormFieldControl, OnDestroy, AfterViewInit { #private; static nextId: number; ngControl: NgControl | null; readonly stateChanges: Subject; readonly touched: _angular_core.WritableSignal; readonly controlType = "one-ui-nested-select"; readonly id: string; readonly searchInput: _angular_core.Signal; readonly triggerWrapperEl: _angular_core.Signal>; readonly shouldLabelFloat = true; readonly _userAriaDescribedBy: _angular_core.InputSignal; readonly _placeholder: _angular_core.InputSignal; readonly _required: _angular_core.InputSignalWithTransform; readonly _disabledByInput: _angular_core.InputSignalWithTransform; readonly _value: _angular_core.ModelSignal; onChange: (value: any) => void; onTouched: () => void; protected readonly _formField: _angular_material_form_field.MatFormField | null; private readonly _focused; private readonly _disabledByCva; private readonly _disabled; private readonly _focusMonitor; private readonly _elementRef; private readonly _fb; private readonly _renderer; private _mutationObserver; intl: MxSelectSearchIntlService; options: _angular_core.InputSignal; noDataSymbol: _angular_core.InputSignal; form: _angular_forms.FormGroup<{ selectedValues: _angular_forms.FormControl; }>; _displayOptionList: _angular_core.WritableSignal<(OptionItem | OptionGroupItem)[]>; _keyword: _angular_core.WritableSignal; _filteredOptionCount: _angular_core.WritableSignal; _hasProjectedTrigger: _angular_core.WritableSignal; get focused(): boolean; get empty(): boolean; get userAriaDescribedBy(): string; get placeholder(): string; get required(): boolean; get disabled(): boolean; get value(): string[] | null; get errorState(): boolean; defaultSelectedDisplay: _angular_core.Signal; isSelectAllDisabled: _angular_core.Signal; isClearSelectionDisabled: _angular_core.Signal; constructor(); ngAfterViewInit(): void; ngOnDestroy(): void; onFocusIn(): void; onFocusOut(event: FocusEvent): void; setDescribedByIds(ids: string[]): void; onContainerClick(): void; writeValue(val: string[] | null): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; _handleSelectChange(value: string[]): void; _isOptionGroupItem(item: OptionGroupItem | OptionItem): item is OptionGroupItem; _onSelectAll(): void; _onClearAll(): void; _isHideGroup(group: OptionGroupItem): boolean; _isDisabledGroup(group: OptionGroupItem): boolean; _isGroupAllChecked(children: OptionItem[]): boolean; _isGroupPartialChecked(children: OptionItem[]): boolean; _onChangeGroupCheck(children: OptionItem[], event: MatCheckboxChange): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { MX_SELECT_SEARCH_INTL_PROVIDER, MxSelectSearchComponent, MxSelectSearchIntlService }; export type { MxSelectSearchIntlLabels, MxSelectSearchOption };