import { AfterContentInit, DoCheck, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from "@angular/core"; import { RealosftSelectChange, RealsoftSelectTrigger } from "./models"; import { Observable, Subject } from "rxjs"; import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from "@angular/forms"; import { SelectionModel } from "@angular/cdk/collections"; import { ActiveDescendantKeyManager } from "@angular/cdk/a11y"; import { CdkConnectedOverlay, CdkOverlayOrigin, ConnectedPosition, ScrollStrategy } from "@angular/cdk/overlay"; import { ErrorStateMatcher } from "./error-state-matcher"; import { RealsoftFormFieldControl } from "../form-field/directives/form-field-control"; import { RealsoftOptionSelectionChange } from "../option/models"; import { RealsoftFormField } from "../form-field/form-field"; import { RealsoftOption } from "../option/option"; import { RealsoftOptionGroup } from "../option-group/option-group"; import * as i0 from "@angular/core"; export declare class RealsoftSelect implements RealsoftFormFieldControl, ControlValueAccessor, AfterContentInit, OnChanges, OnDestroy, OnInit, DoCheck { private _defaultSelectConfig; private _changeDetectorRef; private _hideSingleSelectionIndicator; private _disableOptionCentering; readonly stateChanges: Subject; defaultErrorStateMatcher: ErrorStateMatcher; private _placeholder; private _required; ngControl: NgControl; private _multiple; _keyManager: ActiveDescendantKeyManager; private _compareWith; private _panelOpen; private _value; private _focused; private _errorState; private _id; private _initializeOptions; private _uniqueIDGenerator; private _direction; private _selectNullableOptions; controlType: string; _wrapperFormField: RealsoftFormField; _overlayOrigin: CdkOverlayOrigin | ElementRef | undefined; readonly _elementRef: ElementRef; _overlayWidth: string | number; private _trackedSelectDialog; private _liveAnnouncer; _overlayPanelClasses: string | string[]; /** Strategy that will be used to handle scrolling while the select panel is open. */ _scrollStrategy: ScrollStrategy; /** Factory function used to create a scroll strategy for this select. */ private _scrollStrategyFactory; /** Emits whenever the component is destroyed. */ readonly _destroy: Subject; parentForm: NgForm; parentFormGroup: FormGroupDirective; _selectUniqueID: string; _overlayPositions: ConnectedPosition[]; _selectValueID: string; private _control; /** Current `aria-labelledby` value for the select trigger. */ private _triggerAriaLabelledBy; trigger: ElementRef; panel: ElementRef; _overlayPanel: CdkConnectedOverlay; _selectionModel: SelectionModel; options: QueryList; optionGroups: QueryList; customTrigger: RealsoftSelectTrigger; ariaLabel: string; ariaLabelledby: string; userAriaDescribedBy: string; panelClass: string | string[] | Set | { [key: string]: any; }; disabled: boolean; tabIndex: number; get hideSingleSelectionIndicator(): boolean; set hideSingleSelectionIndicator(value: boolean); get placeholder(): string; set placeholder(value: string); get required(): boolean; set required(value: boolean); get multiple(): boolean; set multiple(value: boolean); disableOptionCentering: boolean; get compareWith(): (o1: any, o2: any) => boolean; set compareWith(fn: (o1: any, o2: any) => boolean); get value(): any; set value(newValue: any); private valueHasChanged; get errorStateMatcher(): ErrorStateMatcher; set errorStateMatcher(value: ErrorStateMatcher); typeaheadDebounceInterval: number; sortComparator: (a: RealsoftOption, b: RealsoftOption, options: RealsoftOption[]) => number; get id(): string; set id(value: string); panelWidth: string | number | null; get errorState(): boolean; set errorState(value: boolean); get shouldLabelFloat(): boolean; readonly optionSelectionChanges: Observable; readonly openedChange: EventEmitter; readonly selectionChange: EventEmitter; readonly valueChange: EventEmitter; private _initiateErrorState; constructor(); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterContentInit(): void; private _selectionModelChanges; private _optionsQueryListChanges; ngDoCheck(): void; private _selectTriggerARIALabelledby; private _optionReset; private _optionSelectionChanges; private _optionStateChanges; skipPredicate: (option: RealsoftOption) => boolean; onContainerClick(): void; initiateKeyManager(): void; private _keyManagerChangesSubscription; private _keyManagerTabOutSubscription; private _selection; private _selectOption; get panelOpen(): boolean; get selected(): RealsoftOption | RealsoftOption[]; get empty(): boolean; get focused(): boolean; get triggerValue(): string; _isRTL(): boolean; updateErrorState(): void; _panelARIALabeldby(): string | null; close(): void; open(): void; private _sortValues; private _initializeSelection; _handleKeydown(event: KeyboardEvent): void; private _openPanelKeyEvents; _closedPanelKeyEvents(event: KeyboardEvent): void; private _getOverlayWidth; _onChange: (value: any) => void; _onTouched: () => void; writeValue(value: any): void; registerOnChange(fn: (value: any) => void): void; registerOnTouched(fn: () => {}): void; setDisabledState(isDisabled: boolean): void; toggle(): void; focus(options?: FocusOptions): void; _onFocus(): void; _onBlur(): void; setDescribedByIds(ids: string[]): void; _getAriaActiveDescendant(): string | null; _attached(): void; _scrollOptionIntoOverlayPanel(index: number): void; _optionScrollPosition(optionOffset: number, optionHeight: number, scrollPosition: number, selectPanelHeight: number): number; private _optionClick; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_hideSingleSelectionIndicator: unknown; static ngAcceptInputType_required: unknown; static ngAcceptInputType_multiple: unknown; static ngAcceptInputType_disableOptionCentering: unknown; static ngAcceptInputType_typeaheadDebounceInterval: unknown; }