import { AfterViewInit, ElementRef, Injector, OnDestroy, OnInit, QueryList } from '@angular/core';
import { Observable, ReplaySubject } from 'rxjs';
import { ControlValueAccessor, NgControl, NgForm } from '@angular/forms';
import { FormDisabledDirective } from '../form-disabled.directive';
import { ViewportRuler } from '@angular/cdk/overlay';
import { OptionDirective } from '../option/option.directive';
import { SelectOptionComponent } from './select-option/select-option.component';
export declare class SelectComponent implements ControlValueAccessor, OnInit, OnDestroy, AfterViewInit {
    private element;
    private injector;
    private viewportRuler;
    private form;
    private formDisabled;
    name: string;
    state: 'invalid' | 'approved';
    label: string;
    placeholder: string;
    value: any;
    notice: string;
    searchable: boolean;
    get tabindex(): number;
    role: string;
    get ariaLabel(): string;
    required: boolean;
    set setRequired(value: boolean);
    disabled: boolean;
    set setDisabled(value: boolean);
    options: QueryList<OptionDirective>;
    selectOptions: QueryList<SelectOptionComponent>;
    focusSubject: ReplaySubject<boolean>;
    focused: Observable<boolean>;
    onfocus: Observable<void>;
    onblur: Observable<void>;
    control: NgControl;
    searchQuery: string;
    private onChange;
    private onTouched;
    private _opened;
    private keyManager;
    private destroy$;
    constructor(element: ElementRef, injector: Injector, viewportRuler: ViewportRuler, form: NgForm, formDisabled: FormDisabledDirective);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngAfterViewInit(): void;
    resetSelection(): void;
    activateDefaultOption(): void;
    get invalid(): boolean;
    get viewDisabled(): boolean;
    get isSearchActive(): boolean;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: () => {}): void;
    writeValue(outsideValue: any): void;
    setDisabledState(isDisabled: boolean): void;
    updateValue(insideValue: any): void;
    get selectedOption(): OptionDirective;
    select(option: OptionDirective): void;
    focus(): void;
    get opened(): boolean;
    open(): void;
    close(): void;
    toggle(): void;
    onFocus(): void;
    onBlur(): void;
    onKeydown(event: any): void;
    handleSelection(event: any): void;
    handleOpening(event: any): void;
    handleClosing(): void;
    resetActiveItem(): void;
}
