import { ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { SelectAccessor, SelectColor, SelectItem, SelectSize, SelectValue } from './select.types';
import { BooleanInput } from '@angular/cdk/coercion';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class SelectComponent implements SelectAccessor, ControlValueAccessor, OnInit {
    private elementRef;
    private cdr;
    control?: NgControl | undefined;
    static ngAcceptInputType_disabled: BooleanInput;
    private onChange?;
    private onTouched?;
    private _value;
    private _viewValue?;
    isOpen: boolean;
    onChange$: Subject<unknown>;
    placeholder?: string;
    disabled: boolean;
    color: SelectColor;
    size: SelectSize;
    items?: SelectItem[];
    get value(): SelectValue;
    set value(v: SelectValue);
    get width(): any;
    get viewValue(): string | undefined;
    set viewValue(value: string | undefined);
    get styles(): {
        [klass: string]: boolean;
    };
    constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, control?: NgControl | undefined);
    ngOnInit(): void;
    open(): void;
    close(): void;
    writeValue(source: SelectValue): void;
    registerOnChange(onChange: (source: SelectValue) => void): void;
    registerOnTouched(onTouched: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    private _focusOut;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, [null, null, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "xui-select", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; "items": { "alias": "items"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, ["xui-option"], false, never>;
}
