import { EventEmitter, Injector, OnInit, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { SelectItem } from 'tn-custom-primeng/api';
import { ComponentBase } from '../../classes/base/component-base';
import { AutoCompletePickerControlSchema, CrudListSetting, DropdownOptions, PopupSize, UserPickerControlSchema } from '../../classes/form-schema';
import { DmChucVuService } from '../../services/dm-chucvu.service';
import { UserV5Service } from '../../services/user-v5.service';
import { AdvanceDataEntityPicker } from '../entity-picker/model/advance-data';
import { UserPickerBoxComponent } from './user-picker-box/user-picker-box.component';
export declare class UserPickerComponent extends ComponentBase implements OnInit, ControlValueAccessor {
    _userV5Service: UserV5Service;
    private _dm_ChucVuService;
    filterChucVuRef: TemplateRef<any>;
    onChangeBase: Function;
    onTouched: Function;
    control: UserPickerControlSchema;
    popupSize: PopupSize;
    hiddenCols: string[];
    multiple: boolean;
    disabled: boolean;
    _readOnlyValues: string[];
    set readOnlyValues(value: string[]);
    get readOnlyValues(): string[];
    onInit: EventEmitter<any>;
    onSelect: EventEmitter<any>;
    onUnSelect: EventEmitter<any>;
    onChanged: EventEmitter<any>;
    onFocus: EventEmitter<any>;
    onBlur: EventEmitter<any>;
    onReady: EventEmitter<any>;
    onAdjustedValue: EventEmitter<any>;
    controlPicker: AutoCompletePickerControlSchema;
    settingPicker: CrudListSetting;
    advanceDataPicker: AdvanceDataEntityPicker;
    value: any;
    funcReturnValue: (value: any) => {};
    selectedRowData: any;
    selectedValue: any;
    selectedValueObject: any;
    dataSource: any[];
    funcCheckReadOnlyItem: (item: any) => void;
    fieldSearchText: string[];
    results: any[];
    showFormPicker: boolean;
    dirty: boolean;
    tooltip: string;
    hasValue: boolean;
    searchSchema: any;
    searchData: any;
    private getFilterOnSearch?;
    private _translateService;
    constructor(_injector: Injector, _userV5Service: UserV5Service, _dm_ChucVuService: DmChucVuService);
    ngOnInit(): void;
    updateFuncCheckReadOnlyItem(): void;
    createSchemaSearch(): Promise<void>;
    buildFilterKeyword(): void;
    buildSettingEntityPicker(): void;
    getFields(): string;
    getDropdownOptions(): DropdownOptions;
    showPickForm(): Promise<void>;
    getData(keyWord: any): Promise<any[]>;
    search(event: any): void;
    clearValue(): void;
    handleRowSelect(item: any): void;
    handleSelect(item: any): void;
    handleUnSelect($event: any): void;
    handleFocus(evt: any): void;
    handleBlur($event: any): void;
    handleKeyUp(evt: any): void;
    handleSelectEntity(evt: any): void;
    handleUnSelectEntity(evt: any): void;
    handleChangeEntity(evt: any): void;
    _funcCheckReadOnlyItem(item: any): void;
    updateReadOnlyItem(): void;
    updateSelectedValue(): void;
    updatePureValue(): void;
    getValueReturn(): {};
    fireChangeEvent(): void;
    handleHide(evt: any): Promise<void>;
    onClickSubmitButton(evt: any, userPickerBox: UserPickerBoxComponent): void;
    private reStructureDataSource;
    reStructureItemObject(item: any): SelectItem;
    writeValue(obj: any): Promise<void>;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
}
//# sourceMappingURL=user-picker.component.d.ts.map