import { ActiveRecord, QueryPageOptions, QueryPageResult, RuntimeRelationField } from '@oinone/kunlun-engine';
import { SelectItem, WidgetTrigger } from '@oinone/kunlun-vue-ui-common';
import { FormComplexFieldWidget } from '../../../../basic/field/complex/FormComplexFieldWidget';
import { ValidatorInfo } from '../../../../typing';
export declare abstract class FormRelationFieldRadioWidget<Field extends RuntimeRelationField = RuntimeRelationField> extends FormComplexFieldWidget<ActiveRecord, Field> {
    protected selectedValue: string | undefined;
    protected fullOptions: SelectItem<ActiveRecord>[] | undefined;
    protected fullOptionsMap: Map<string, SelectItem<ActiveRecord>> | undefined;
    protected get options(): SelectItem<ActiveRecord>[];
    protected getAvailableOptions(): SelectItem<ActiveRecord>[];
    protected get autocorrection(): boolean | undefined;
    protected get optionLabel(): any;
    protected get orientation(): string | undefined;
    /**
     * 选择变更
     * @param key 选择的key
     */
    onSelectedChange(key: string | undefined): void;
    validator(): Promise<ValidatorInfo>;
    protected get loadFullOptions(): boolean | undefined;
    protected get loadPageSize(): number;
    protected get loadMaxTotalPage(): number;
    protected mountedProcess(): Promise<void>;
    protected fillFullOptionsForFirstPage(firstPage: QueryPageResult<ActiveRecord>): void;
    protected fillFullOptionsForAll(firstPage: QueryPageResult<ActiveRecord>, pageSize: number): Promise<void>;
    protected generatorKey(activeRecord: ActiveRecord): string | undefined;
    protected generatorFullOptions(activeRecords: ActiveRecord[]): void;
    /**
     * 回填选中之值
     * @protected
     */
    protected backfillSelectedValues(): void;
    protected queryPage<T = Record<string, unknown>>(option: Omit<QueryPageOptions, 'requestFields'>): Promise<QueryPageResult<T>>;
    protected executeExpressionByItem<T>(item: ActiveRecord, expression: string, errorValue?: T): T | string | undefined;
    protected defaultConstructDataTrigger(): WidgetTrigger[];
    protected defaultClearFieldsTrigger(): WidgetTrigger[];
}
