import { HttpClient, HttpParams } from '@angular/common/http'; import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { ControlValueAccessor, FormControl, NgControl } from '@angular/forms'; import { MatOptionSelectionChange } from '@angular/material/core'; import { MatSelect } from '@angular/material/select'; import { BehaviorSubject } from 'rxjs'; import { SCBaseComponent } from '../core/sc-basecomponent.component'; import { SCCoreService } from '../core/sc-core.service'; import { DisplayByPipe } from '../pipes/displayBy'; import { ValueByPipe } from '../pipes/valueBy'; import { SCSelectService } from './sc-select.service'; import * as i0 from "@angular/core"; export interface SCSelectDisplay { label: string; displayBys: (string | SCDisplayBy)[]; } export interface SCDisplayBy { displayBy: string; type?: 'string' | 'date'; dateFormat?: string; defaultDisplay?: string; } export declare function isSCDisplayBy(obj: any): obj is SCDisplayBy; export interface SCDataUrlConfig { dataUrl: string; selectedDataUrl?: string; selectedDataUrlPlaceholder?: string; configUrl?: string; httpParams?: { key: string; values: string[]; }[]; lazyLoadingConfig?: { perPage: number; }; } export interface SCSelectConfig { displayBy: string; valueBy: string; compareBy: string; displayByArray?: SCSelectDisplay[]; displayByArrayCols?: number; defaultValue?: any; urlConfig?: SCDataUrlConfig; lazyLoading?: boolean; label?: string; placeholder?: string; deletable?: boolean; multiple?: boolean; required?: boolean; hint?: string; prefix?: string; suffix?: string; } export interface SCAddClicked { event: any; stringFormControl: FormControl; } export declare class SCSelectComponent extends SCBaseComponent implements ControlValueAccessor, OnInit, OnChanges, OnDestroy { ngControl: NgControl; private valueByPipe; private displayByPipe; private cdr; private scCoreService; private scSelectService; private http; label: string; placeholder: string; hint: string; prefix: string; suffix: string; multiple: boolean; appearance: string; data: any[]; valueBy: string; displayBy: string; displayByArray: SCSelectDisplay[]; displayByArrayCols: number; compareBy: string; disabled: boolean; required: boolean; floatLabel: string; enableSearch: boolean; enableSearchThreshold: number; lazyLoading: boolean; searchLabel: string; stringFormControl: FormControl; deletable: boolean; deleteLabel: string; defaultValue: any; defaultDisplay: string; addText: string; urlConfig: SCDataUrlConfig; preloadData: boolean; isLoading: boolean; config: SCSelectConfig; selectedOption: any; selectedOptions: any[]; mapFunction: (data: any) => any; selectIfSingleData: boolean; customInvalid: boolean; prefixClicked: EventEmitter; suffixClicked: EventEmitter; addClickedWithString: EventEmitter; change: EventEmitter; changed: EventEmitter; selectedOptionChanged: EventEmitter; selectedOptionsChanged: EventEmitter; matSelect: MatSelect; searchInput: ElementRef; /** * @deprecated */ addClicked: EventEmitter; searching: boolean; value: any; selectedOptionIsDefault: boolean; selectedOptionsDisplayed: BehaviorSubject; filteredOptions: BehaviorSubject; filteredOptionsLength: number; selectedOptionsLength: number; menuOpen: boolean; private formSubscription; get compareByValue(): any; get displayByValue(): string; get valueByValue(): any; get hasSelectedOption(): boolean; private isInit; private dataLoaded; constructor(ngControl: NgControl, valueByPipe: ValueByPipe, displayByPipe: DisplayByPipe, cdr: ChangeDetectorRef, scCoreService: SCCoreService, scSelectService: SCSelectService, http: HttpClient); ngOnInit(): void; ngOnChanges(event: SimpleChanges): void; ngModelChangeHandler(event: KeyboardEvent): void; ngOnDestroy(): void; prefixClickedHandler(event: MouseEvent): void; suffixClickedHandler(event: MouseEvent): void; deleteClickedHandler(event: MouseEvent): void; addClickedHandler(event: any): void; handleKeyDown(event: KeyboardEvent): void; handleSelectionChange(event: MatOptionSelectionChange, option: any): void; handleDefaultValueSelected(event: MatOptionSelectionChange): void; handleMenuClicked(event: MouseEvent): void; handleMenuToggle(event: boolean): void; focus(): void; findOption(overwrite?: boolean): void; trackFunction: (index: number, data: any) => any; compare: (c1: any, c2: any) => boolean; getFilteredOptions(): void; setFilteredOptions(options: any[]): void; onChange: (value: any) => void; onTouched: () => void; writeValue(value: any): void; emitValue(): void; registerOnChange(fn: (rating: number) => void): void; registerOnTouched(fn: () => void): void; setDisabledState?(isDisabled: boolean): void; getUrlData(search?: string): void; getUrlDataSelected(): void; getUrlConfig(): void; getHttpParams(search?: string): HttpParams; handleNewUrlConfig(urlConfig: SCDataUrlConfig): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }