import { AfterViewInit, DoCheck, ElementRef, EventEmitter, Renderer2 } from '@angular/core'; import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms'; import { HcFormControlComponent } from '../form-field/hc-form-control.component'; export declare class SelectChangeEvent { source: SelectComponent; value: any; constructor(source: SelectComponent, value: any); } /** Builds a value string to help with matching objects */ export declare function _buildValueString(id: string | null, value: any): string; /** Select one of many options from a dropdown */ export declare class SelectComponent extends HcFormControlComponent implements ControlValueAccessor, DoCheck, AfterViewInit { private _renderer; _ngControl: NgControl; private _uniqueInputId; private _form; private _value; _open: boolean; _optionIdCounter: number; _optionMap: Map; _componentId: string; _nativeSelect: ElementRef; /** Optional string of text to appear before selection is made */ placeholder: string; /** Enables or disables the component */ disabled: boolean; /** Sets whether this is a required form element */ required: boolean; /** Element id. */ id: string; /** Get or set the value of the select component */ value: any; /** Set the display method of the select to be borderless instead of a standard select. Default false */ borderless: boolean; readonly focus: EventEmitter; readonly blur: EventEmitter; /** Event emitted whenever the state changes */ change: EventEmitter; _hostClass: boolean; readonly _disabledClass: boolean; /** A function to compare the option values with the selected values. The first argument is a value from an option. * The second is a value from the selection(model). A boolean should be returned. */ compareWith: (o1: any, o2: any) => boolean; private _compareWith; constructor(_renderer: Renderer2, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, _ngControl: NgControl); private onChange; private onTouched; ngAfterViewInit(): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; writeValue(value: any): void; _applyValue(): void; _change(event: Event, value: any): void; ngDoCheck(): void; _registerOption(): string; _getOptionId(value: any): string | null; _getOptionValue(valueString: string): any; _extractId(valueString: string): string; private _updateErrorState; _blurHandler(event: any): void; _clickHandler(event: any): void; _markAsTouched(): void; }