import { ServiceBase } from './../../data/service-base';
import * as breeze from 'breeze-client';
export declare class UITagSelect<TLinkEntity extends breeze.Entity, TTargetEntity extends breeze.Entity> {
    placeholder: string;
    disabled: string | boolean;
    private model;
    entity: breeze.Entity;
    optionsText: string;
    targetArrayName: string;
    options: Array<TTargetEntity>;
    tags: Array<TLinkEntity>;
    targetService: ServiceBase<TTargetEntity>;
    linkedService: ServiceBase<TLinkEntity>;
    callback: ({ targetEntity }: {
        targetEntity: any;
    }) => {};
    private isSelectVisible;
    private linkedIdName;
    private targetIdName;
    private targetName;
    private uISelect;
    private uISelectInput;
    protected attached(): void;
    protected bind(): void;
    focus(): void;
    blur(): void;
    fetchOptions(query: string): Promise<TTargetEntity[]>;
    protected modelChanged(newValue: any, oldValue: any): Promise<void>;
    protected addTarget(query: string): Promise<void>;
    protected addLinked(targetEntity: TTargetEntity): Promise<void>;
    protected delete(tag: TLinkEntity): void;
}
