import { ViewContainerRef, OnInit, EventEmitter, NgZone } from '@angular/core';
import { DialogRef } from 'angular2-modal';
import { TermStore, TermPickerForm, Shared } from "../../../models";
import { PortalTermStoreService } from "../services/PortalTermStoreService";
import { DialogService, BaseDialogModel, BaseDialogComponent } from "../services/DialogService";
export interface ICSOMTaxonomyPickerFormScope {
    termSetId: string;
    isEnterpriseKeyword: boolean;
    showContextMenu: boolean;
    isMulti: boolean;
    disabled: boolean;
    selectedTermNode: TermStore.ITerm;
    selectedTerms: Array<TermStore.ITerm>;
    addTerm: () => void;
    removeTerm: (term: TermStore.ITerm) => void;
    onNodeSelected: (node: Shared.ITreePickerNode) => void;
    onDblClickNode: (node: Shared.ITreePickerNode) => void;
    ok: () => void;
    close: () => void;
    isLoadingTree: boolean;
    termSet: TermStore.ITermSet;
    getTermSetName: () => string;
}
export interface ICSOMTaxonomyPickerScope {
    termSetId: string;
    isEnterpriseKeyword: boolean;
    selected: Array<TermStore.ITerm>;
    isMulti: boolean;
    disabled: boolean;
    searchTerm: (event: any) => void;
    selectTerm: (term: TermStore.ITerm) => void;
    addTerm: () => void;
    removeTerm: (term: TermStore.ITerm) => void;
    focusOutHandler: () => void;
    focusInHandler: () => void;
    searchText: string;
    isLoading: boolean;
    searchResult: Array<TermStore.ITerm>;
    totalResult: number;
    showResult: boolean;
    isFocus: boolean;
    isDisableAdd: () => boolean;
    isAdding: boolean;
    showPickerDialog: (event: Event) => void;
    termSet: TermStore.ITermSet;
    isCreateTermInSuggestion: boolean;
    isSuggestingSelectedTerm: boolean;
    selectingIndex: number;
}
export declare class CSOMTaxonomyPicker implements OnInit {
    private termStoreService;
    viewContainer: ViewContainerRef;
    dialogService: DialogService;
    private zoneService;
    static templateGuid: string;
    termSetId: string;
    isEnterpriseKeyword: boolean;
    isMulti: boolean;
    selected: Array<TermStore.ITerm>;
    disabled: boolean;
    selectedChange: EventEmitter<Array<TermStore.ITerm>>;
    scope: ICSOMTaxonomyPickerScope;
    private minLengthToSearch;
    constructor(termStoreService: PortalTermStoreService, viewContainer: ViewContainerRef, dialogService: DialogService, zoneService: NgZone);
    ngOnInit(): void;
    init: () => void;
}
export declare class CSOMTaxonomyPickerForm extends BaseDialogComponent<BaseDialogModel<TermPickerForm.ITermPickerFormOption>> implements OnInit {
    dialog: DialogRef<BaseDialogModel<TermPickerForm.ITermPickerFormOption>>;
    private termStoreService;
    static templateGuid: string;
    scope: ICSOMTaxonomyPickerFormScope;
    constructor(dialog: DialogRef<BaseDialogModel<TermPickerForm.ITermPickerFormOption>>, termStoreService: PortalTermStoreService);
    ngOnInit(): void;
    private init;
    private cloneTerm;
    private onNodeSelected;
    private onDblClickNode;
    private addTerm;
    private removeTerm;
    private ok;
}
