import { ElementRef, OnInit, OnDestroy, EventEmitter, AfterViewInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { Observable } from 'rxjs';
import { Select } from './select.interface';
import * as i0 from "@angular/core";
export declare class SelectComponentClass implements OnInit, OnDestroy, AfterViewInit {
    valuesStream: Observable<Array<Select>>;
    useClearButton: boolean;
    clearLikeOption: boolean;
    subtitle: string;
    placeholder: string;
    selectedDefaultIndex: number;
    selectedDefaultValue: string;
    formElement: FormControl;
    multiple: boolean;
    search: boolean;
    disable: boolean;
    required: boolean;
    direction: string;
    maxItems: number;
    dataQa: string;
    canRemoveLastItem: boolean;
    showFlag: boolean;
    readOnly: boolean;
    width: number;
    withDescription: boolean;
    withOperation: boolean;
    isEmptyStateDescription: boolean;
    createSelectOptionText: string;
    selectedItemsOnTop: boolean;
    startTypingText: string;
    isSearchDelay: boolean;
    valueChanged: EventEmitter<Array<string>>;
    createOptionHandler: EventEmitter<void>;
    searchHandler: EventEmitter<string>;
    selectTitle: ElementRef;
    selectValues: ElementRef;
    selectBoxRef: ElementRef;
    valuesBox: ElementRef;
    selectClear: ElementRef;
    searchField: ElementRef;
    searchIcon: ElementRef;
    clearIcon: ElementRef;
    selectValueItem: ElementRef;
    emptyState: ElementRef;
    error: boolean;
    dirty: boolean;
    get disabledClass(): boolean;
    selected: any;
    selectState: boolean;
    searchString: string;
    private valueFromSelect;
    title: string;
    valuesList: any;
    private valuesInit;
    private documentClickObservable$;
    private clickSubscription;
    private valuesSubscription;
    private formElementSubscription;
    private documentClickSubscription;
    untouched: boolean;
    private readonly search$;
    private readonly destroy$;
    get isEmptyStateMode(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    private changeState;
    clear(): void;
    private markAsSelected;
    onSearchInput(keyEvent: any): void;
    private processSearch;
    private prepareDataAndChangeByValue;
    updateByIndex(index: number): void;
    private updateByValue;
    private applyNewValue;
    ngOnDestroy(): void;
    clearSearchInput(): void;
    updateCheckboxState(option: any, i: any): void;
    showPlaceholder(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponentClass, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponentClass, "custom-select", never, { "valuesStream": "valuesStream"; "useClearButton": "useClear"; "clearLikeOption": "clearLikeOption"; "subtitle": "subtitle"; "placeholder": "placeholder"; "selectedDefaultIndex": "selectedDefaultIndex"; "selectedDefaultValue": "selectedDefaultValue"; "formElement": "formElement"; "multiple": "multiple"; "search": "search"; "disable": "disable"; "required": "required"; "direction": "direction"; "maxItems": "maxItems"; "dataQa": "dataQa"; "canRemoveLastItem": "canRemoveLastItem"; "showFlag": "showFlag"; "readOnly": "readOnly"; "width": "width"; "withDescription": "withDescription"; "withOperation": "withOperation"; "isEmptyStateDescription": "isEmptyStateDescription"; "createSelectOptionText": "createSelectOptionText"; "selectedItemsOnTop": "selectedItemsOnTop"; "startTypingText": "startTypingText"; "isSearchDelay": "isSearchDelay"; }, { "valueChanged": "valueChanged"; "createOptionHandler": "createOptionHandler"; "searchHandler": "searchHandler"; }, never, never, false>;
}
