import { ChangeDetectorRef, ElementRef, OnChanges, Renderer, SimpleChanges, OnDestroy } from '@angular/core';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { EventWindowManager } from '../utils/event-window-manager';
import { StDropDownMenuItem } from '../st-dropdown-menu/st-dropdown-menu.interface';
import { StFormLabelStatus } from '../utils/egeo-form/st-form-label/st-form-label-status.enum';
export declare class StSelectComponent extends EventWindowManager implements ControlValueAccessor, OnDestroy, OnChanges {
    private renderer;
    private cd;
    buttonElement: ElementRef;
    inputElement: ElementRef;
    qaTag: string;
    name: string;
    options: StDropDownMenuItem[];
    label: string;
    contextualHelp: string;
    placeholder: string;
    disabled: boolean;
    selectedValue: StDropDownMenuItem;
    errorRequiredMessage: string;
    forceValidations: boolean;
    errorMessage: string;
    onChange: (_: any) => void;
    onTouched: () => void;
    private sub;
    private isFocused;
    private pristine;
    constructor(renderer: Renderer, cd: ChangeDetectorRef, buttonElement: ElementRef, inputElement: ElementRef);
    validate(control: FormControl): any;
    hasOptions(): boolean;
    writeValue(newValue: any): void;
    registerOnChange(fn: (_: any) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    changeOption(selection: StDropDownMenuItem): void;
    onClickButton(event: Event): void;
    getLabelStatus(): StFormLabelStatus;
    showError(): boolean;
    getBarType(): string;
    onFocus(event: Event): void;
    onFocusOut(event: Event): void;
    private getErrorObject(control);
    private checkValidations(control);
    private isDefined(field);
    private checkErrors(control);
    private getErrorMessage(errors);
}
