import { I18N } from 'aurelia-i18n';
import { TargetInstruction, TaskQueue, BindingEngine } from 'aurelia-framework';
import { GridDataSource } from "../../data/data-source";
import * as breeze from 'breeze-client';
import { CreateOtions } from "../../resources/attributes/select2-attribute";
import { BaseInput } from './base-input';
import { Datacontext } from '../../data/data-context';
import 'select2';
import { EventAggregator } from 'aurelia-event-aggregator';
import { Config } from '../../config';
export declare class UISelect extends BaseInput {
    private datacontext;
    private i18n;
    private bindingEngine;
    private taskQueue;
    private eventAggregator;
    private config;
    value: AnyObject;
    placeholder: string;
    dataSource: GridDataSource<breeze.Entity>;
    optionsValue: string;
    optionsText: string;
    createOptions: CreateOtions;
    sortColumn: string;
    filterProperties: string;
    itemTemplate: string;
    headerTemplate: string;
    footerTemplate: string;
    allowClear: boolean;
    pageSize: number;
    dropdownCssClass: string;
    onChange: (args: {
        value?: any;
    }) => void;
    onReady: () => void;
    selectionTitle: string | boolean;
    dropdownAutoWidth: boolean;
    focusSearchWhenOpen: boolean;
    isFocus: boolean;
    private selectionTemplate;
    private parentContext;
    private $select;
    private select2Instance;
    private callNumber;
    multiple: boolean;
    tags: boolean;
    ignoreChange: boolean;
    private onSelectedSize;
    private bindingContext;
    private closeOnFooterClick;
    private closeOnHeaderClick;
    private clickableElements;
    private changeLanguageSubscription;
    private onChangeCollectionObserverDisposables;
    private submitOnLoad;
    get isFocusClass(): string;
    get isMultipleClass(): string;
    constructor(element: Element, targetInstruction: TargetInstruction, datacontext: Datacontext, i18n: I18N, bindingEngine: BindingEngine, taskQueue: TaskQueue, eventAggregator: EventAggregator, config: Config);
    bind(bindingContext: Object, overrideContext?: any): void;
    attached(): void;
    localEntityMatcher: (a: any, b: any) => boolean;
    setupSelect2EventsHandler(): void;
    private onKeyPressed;
    getTemplate(targetInstruction: any, templatePropertyName: string): string;
    getTemplateFromSelect2: (select2Data: any) => any;
    getTemplateSelection: (select2Data: any) => any;
    private changeLanguage;
    private buildSelect2;
    private fillOptions;
    private get evalFilterProperties();
    private setupSelect2CustomAdapters;
    private getSortModelFromSortColumn;
    private getSortDirection;
    private replaceTranslation;
    private resizeSelection;
    valueChanged(newVal: any, oldVal: any): void;
    placeholderChanged(newVal: any, oldVal: any): void;
    dataSourceChanged(newVal: any, oldVal: any): void;
    close(): void;
    closeOnClickHandler: () => void;
    open(): void;
    private manageSelectionTitle;
    detached(): void;
    private callOnChangeCallback;
}
