/**
 * al-select
 *
 * @author Rob Parker <robert.parker@alertlogic.com>
 *
 * @copyright Alert Logic, Inc 2021
 *
 */
import { EventEmitter, OnInit, ElementRef } from '@angular/core';
import { AlOptionItem } from '../../types';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class AlSelectComponent implements OnInit, ControlValueAccessor {
    private eref;
    id?: string;
    label: string;
    verticalSpace?: boolean;
    name: string;
    disabled?: boolean;
    required?: boolean;
    multiple?: boolean;
    size?: number;
    hint?: string;
    tip?: string;
    error?: string;
    defaultOptions?: AlOptionItem[];
    options: AlOptionItem[];
    value: string;
    inputModelChange: EventEmitter<string>;
    searchText: string;
    optionsVisible: boolean;
    constructor(eref: ElementRef);
    ngOnInit(): void;
    clickOut(event: Event): void;
    onChange: (newValue: Object | string) => void;
    onTouched: () => void;
    onValueChange(newValue?: string): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    static ɵfac: i0.ɵɵFactoryDef<AlSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<AlSelectComponent, "al2-select", never, { "id": "id"; "label": "label"; "verticalSpace": "verticalSpace"; "name": "name"; "disabled": "disabled"; "required": "required"; "multiple": "multiple"; "size": "size"; "hint": "hint"; "tip": "tip"; "error": "error"; "defaultOptions": "defaultOptions"; "options": "options"; "value": "value"; }, { "inputModelChange": "inputModelChange"; }, never, never>;
}
