import { NgxSelect2ExOptionHandler } from '../classes/ngx-select2-ex-option-handler';
import { Observable } from 'rxjs/Observable';
import { NgxSelect2ExLanguageInputs } from '../classes/ngx-select2-ex-language-inputs';
import { INgxSelect2ExDropdownPosition } from '../interfaces/ngx-select2-ex-dropdown-position';
export declare class NgxSelect2ExService {
    multi: boolean | null;
    disabled: boolean;
    theme: string;
    minimumResultsForSearch: number;
    minimumInputLength: number | null;
    maximumInputLength: number | null;
    language: NgxSelect2ExLanguageInputs;
    selectOnClose: boolean | null;
    closeOnSelect: boolean | null;
    private _options;
    private _dropdownPosition;
    private _isOpen;
    private _isInFocus;
    private _selection;
    private _search;
    constructor();
    options: Array<NgxSelect2ExOptionHandler>;
    getOptionsAsObservable(): Observable<Array<NgxSelect2ExOptionHandler>>;
    selection: Array<NgxSelect2ExOptionHandler>;
    getSelectionAsObservable(): Observable<Array<NgxSelect2ExOptionHandler>>;
    dropdownPosition: INgxSelect2ExDropdownPosition;
    getDropdownPositionAsObservable(): Observable<INgxSelect2ExDropdownPosition>;
    isOpen: boolean;
    getIsOpenAsObservable(): Observable<boolean>;
    isInFocus: boolean;
    getIsInFocusAsObservable(): Observable<boolean>;
    search: string;
    getSearchAsObservable(): Observable<string>;
    open(): void;
    close(): void;
    select(optionHandlerToSelect: NgxSelect2ExOptionHandler): void;
    deselect(optionHandlerToDeselect: NgxSelect2ExOptionHandler): void;
    clear(): void;
}
