import { SelectInstance, SelectListType, SelectWidgetType, SelectType, SourceDataCollection } from './typing';
import { FormFieldWidget } from '../../../basic';
export declare abstract class SelectFieldActionWidget extends FormFieldWidget {
    initialize(props: any): this;
    protected get filterRelation(): any;
    protected get labelEditable(): any;
    protected abstract widgetType: SelectWidgetType;
    protected currentInstance: SelectInstance | undefined;
    protected fieldsCommit: ((field: string) => void) | undefined;
    protected fieldActionOptionsList: SourceDataCollection;
    protected get valueFlattend(): SelectListType;
    protected get fieldActionOptionsListFlattend(): SourceDataCollection;
    protected get unSelectedOptionList(): SourceDataCollection;
    protected get selectedOptionList(): SourceDataCollection;
    protected onFormChange(payload: any, deep?: boolean): void;
    protected queryReferences(model: string, type?: SelectWidgetType): Promise<SelectType[] | undefined>;
    protected updateExsitValue(field: any): void;
    private updateUniqueValue;
    private mergeChild;
    private deepCopy;
    private slimDeepCopy;
    private flattenList;
    private getListByValue;
    private filterListByValue;
    private queryReferencesWithIdle;
    private setReferencesChildren;
    private queryFieldsByModel;
    private queryActionsByModel;
    private withPreHandle;
    private getSelectOptions;
    private setMetaDataFields;
    protected mounted(): void;
}
