import { type ActiveRecord, type ActiveRecords, type Pagination, type QueryContext, type QueryVariables, type RequestModelField, type RuntimeRelationField, type SelectRuntimeConfig, SelectSearchArea } from '@oinone/kunlun-engine';
import { RSQLCondition } from '@oinone/kunlun-shared';
import type { SelectItem } from '@oinone/kunlun-vue-ui-common';
import { type FormComplexFieldProps, FormComplexFieldWidget } from '../FormComplexFieldWidget';
export declare abstract class BaseSelectFieldWidget<Value extends ActiveRecords = ActiveRecords, Field extends RuntimeRelationField = RuntimeRelationField, Props extends FormComplexFieldProps<Field> = FormComplexFieldProps<Field>> extends FormComplexFieldWidget<Value, Field, Props> {
    protected get selectConfig(): SelectRuntimeConfig;
    protected pagination: Pagination | undefined;
    protected loadMoreLoading: boolean;
    protected loadCompleted: boolean;
    protected lastOptionValues: ActiveRecord[] | undefined;
    protected lastDomain: string | undefined;
    get labelFields(): string[];
    get allowSearch(): boolean;
    protected get optionValues(): ActiveRecord[] | undefined;
    /**
     * 搜索所在区域
     * 值域：「搜索框内、下拉框内」
     */
    protected get searchArea(): SelectSearchArea | undefined;
    get searchFields(): string[];
    get separator(): any;
    get optionLabelSeparator(): string;
    /**
     * 最多显示多少个 tag
     */
    get maxTagCount(): number | undefined;
    /**
     * 选项字段标题(界面设计器配置属性)
     */
    protected get optionLabel(): any;
    protected get optionLabelContextArgs(): any;
    protected get isFetchAll(): boolean;
    protected get emptyLabel(): string;
    protected mapping<T extends Record<string, unknown>>(value: T): SelectItem<T>;
    protected generatorSelectItemKey(value: Record<string, unknown>): string;
    protected generatorSelectItemLabel(value: Record<string, unknown>): string;
    protected get loadFunctionFun(): string | undefined;
    protected generatorCondition(condition?: RSQLCondition): RSQLCondition;
    protected generatorQueryData(): Record<string, unknown>;
    protected get defaultPageSize(): number;
    generatorPagination(): Pagination;
    generatorQueryVariables(): QueryVariables;
    generatorQueryContext(): QueryContext;
    protected generatorRequestFields(): RequestModelField[];
    protected mountedProcess(): void;
    constructDataBack(): Promise<boolean>;
    protected refreshValueProcess(): void;
    /**
     * @deprecated please using allowSearch
     */
    protected get showSearch(): any;
}
