import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { HeadwindOverlayService } from '../../services/headwind-overlay.service';
import { HeadwindClickDetector } from '../../services/headwind-click-detector.service';
import { HeadwindControlValueAccessor } from '../../abstracts/headwind-control-value-accessor';
import { HeadwindAnimator } from '../../services/headwind-animator';
import { HeadwindSelectService } from './service/headwind-select.service';
import { HeadwindOptionsOverlayDirective } from './headwind-options-overlay/headwind-options-overlay.directive';
import { HeadwindOptionsOverlayComponent } from './headwind-options-overlay/headwind-options-overlay.component';
import * as i0 from "@angular/core";
export declare class HeadwindSelectComponent extends HeadwindControlValueAccessor implements AfterViewInit, OnDestroy {
    private readonly _elementRef;
    private readonly _headwindOverlayService;
    private readonly _headwindClickDetector;
    private readonly _headwindAnimator;
    private readonly _headwindSelectService;
    valueChange: EventEmitter<any>;
    optionsTemplate?: HeadwindOptionsOverlayDirective;
    options?: HeadwindOptionsOverlayComponent;
    private _optionsViewRef?;
    private _openTimeoutId?;
    private _closeTimeoutId?;
    constructor(_elementRef: ElementRef<HTMLElement>, _headwindOverlayService: HeadwindOverlayService, _headwindClickDetector: HeadwindClickDetector, _headwindAnimator: HeadwindAnimator, _headwindSelectService: HeadwindSelectService);
    get multiple(): boolean;
    set multiple(value: boolean);
    get value(): any;
    set value(value: any);
    get disabled(): boolean;
    set disabled(value: boolean);
    get opened(): boolean;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    writeValue(obj: any): void;
    updateValue(value: any): void;
    onHostBlur(): void;
    onHostClick(): void;
    onHostEnterKeydown(event: Event): void;
    onHostArrowUpKeydown(event: Event): void;
    onHostArrowDownKeydown(event: Event): void;
    open(): void;
    close(): void;
    private _afterClosed;
    private _optionsPositionListener;
    static ɵfac: i0.ɵɵFactoryDeclaration<HeadwindSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<HeadwindSelectComponent, "headwind-select", ["headwindSelect"], { "multiple": { "alias": "multiple"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; }, ["optionsTemplate", "options"], ["*"], true, never>;
    static ngAcceptInputType_multiple: unknown;
    static ngAcceptInputType_disabled: unknown;
}
