import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnInit } from '@angular/core';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { StDropDownMenuGroup, StDropDownMenuItem } from '../st-dropdown-menu/st-dropdown-menu.interface';
export declare class StSelectComponent implements AfterViewInit, OnInit, ControlValueAccessor {
    private _selectElement;
    private _injector;
    private _cd;
    placeholder: string;
    name: string;
    label: string;
    tooltip: string | null;
    errorMessage: string;
    selected: StDropDownMenuItem;
    default: any;
    itemsBeforeScroll: number;
    enabledSearcher: boolean;
    isLoading: boolean;
    forceValidations: boolean;
    placeholderSearch?: string;
    keyBoardMove: boolean;
    expand: EventEmitter<boolean>;
    select: EventEmitter<any>;
    scrollAtBottom: EventEmitter<any>;
    search: EventEmitter<string>;
    inputElement: ElementRef;
    buttonElement: ElementRef;
    expandedMenu: boolean;
    searchInput: FormControl;
    inputFormControl: FormControl;
    onChange: (_: any) => void;
    onTouched: () => void;
    private _inputHTMLElement;
    private _isDisabled;
    private _options;
    constructor(_selectElement: ElementRef, _injector: Injector, _cd: ChangeDetectorRef);
    ngOnInit(): void;
    notifyError(errorMessage: string): void;
    disabled: boolean;
    options: StDropDownMenuItem[] | StDropDownMenuGroup[];
    readonly selectedValue: string;
    readonly disableValue: string | null;
    readonly selectId: string | null;
    readonly inputId: string | null;
    readonly labelId: string | null;
    readonly optionsId: string | null;
    readonly inputName: string | null;
    readonly hasLabel: boolean;
    showError(): boolean;
    onSearch(): void;
    onSearchClick(event: Event): void;
    registerOnChange(fn: (_: any) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(disabled: boolean): void;
    writeValue(newValue: any): void;
    ngAfterViewInit(): void;
    onButtonClick(): void;
    onButtonKeyPress(event: KeyboardEvent): void;
    clearSearchInput(): void;
    createResetButton(): boolean;
    resetToDefault(): void;
    onClickOutside(): void;
    onChangeOption(option: StDropDownMenuItem): void;
    onScrollAtBottom(): void;
    private findByProperty;
    private isStDropdownItemList;
    private isStDropdownGroupList;
    private toggleButton;
    private removeAllSelected;
}
