import { ElementRef, EventEmitter } from '@angular/core';
import { displayExtraButtonFieldElement } from '../../tcc-abstract-display-element';
import { TccInputMask } from '../../../../models/inputMask.model';
import { TccKeyValuePair } from '../../../../../odata/models/shared.model';
export declare class TccSelectElementComponent extends displayExtraButtonFieldElement {
    set element(element: TccInputMask._DisplaySelectElement);
    set options(options: TccInputMask.options);
    selectOpen: EventEmitter<TccInputMask.eventTrigger>;
    _element: TccInputMask._DisplaySelectElement;
    _selections: TccKeyValuePair[] | Array<TccInputMask._SelectGroupSelection>;
    _multiple: boolean;
    loadSelection: boolean;
    _value: string | number;
    _default: string | number;
    _tooltip: boolean;
    _openOnEnter: boolean;
    _notSelectedOption: boolean;
    private tempSelections;
    constructor(elementRef: ElementRef);
    /**
     * resets the element to its complete init state (using the inputElement config)
    */
    reset(): void;
    /**
     * refreshes the selection list, if getSelectionsFunction is given
     */
    refreshSelectionList(): void;
    private _refreshSelectionList;
    private normalizeSelections;
    protected onSetElement(): void;
    protected onSetForm(): void;
    setValue(value: string | number | string[], options?: {
        setValueChange?: boolean;
        emitChangeEvent?: boolean;
        index?: number;
    }): void;
    /**
     * get the value of the element
     *
     * @returns element.value
    */
    getValue(): string | number;
    refresh(): void;
    verify(): boolean;
    focus(): void;
    onSelectOpen(event: boolean): void;
    /**
     * sets the selections (overwrites previouse) TODO ybr option group wird momentan nicht unterstützt
     *
     * @param {Array<string>|Array<TccKeyValuePair>} selections
    */
    setSelections(selections: Array<string> | Array<TccKeyValuePair>): void;
    /**
     * adds an element to the selections
     *
     * @param {string | TccKeyValuePair} value
    */
    addToSelection(value: string | TccKeyValuePair, allowDuplicates?: boolean): void;
    /**
     * removes an element from the selections
     *
     * @param {string | TccKeyValuePair} value
    */
    removeFromSelection(value: string | TccKeyValuePair): void;
    protected changeElement(): void;
    startLoadOptions(): void;
    endLoadOptions(): void;
    onEnter(event: KeyboardEvent): void;
    isOptionGroup(option: TccKeyValuePair | TccInputMask._SelectGroupSelection): option is TccInputMask._SelectGroupSelection;
}
