import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Observable, Subject } from 'rxjs';
import { FacetValueFragment } from '../../../common/generated-types';
import { DataService } from '../../../data/providers/data.service';
import * as i0 from "@angular/core";
/**
* @description
* A form control for selecting facet values.
*
* @example
* ```HTML
*
* ```
* The `selectedValuesChange` event will emit an array of `FacetValue` objects.
*
* @docsCategory components
*/
export declare class FacetValueSelectorComponent implements OnInit, OnDestroy, ControlValueAccessor {
private dataService;
private changeDetectorRef;
selectedValuesChange: EventEmitter;
readonly: boolean;
transformControlValueAccessorValue: (value: FacetValueFragment[]) => any[];
searchInput$: Subject;
searchLoading: boolean;
searchResults$: Observable;
selectedIds$: Subject;
private ngSelect;
onChangeFn: (val: any) => void;
onTouchFn: () => void;
disabled: boolean;
value: Array;
private subscription;
constructor(dataService: DataService, changeDetectorRef: ChangeDetectorRef);
ngOnInit(): void;
private initSearchResults;
ngOnDestroy(): void;
onChange(selected: FacetValueFragment[]): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
focus(): void;
writeValue(obj: string | FacetValueFragment[] | Array | null): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}