import { ActiveRecord, SubmitValue } from '@oinone/kunlun-engine';
import { StandardString } from '@oinone/kunlun-shared';
import { OioTreeNode } from '@oinone/kunlun-vue-ui-common';
import { TreeNodeResponseBody } from '../../../../service';
import { AddressTypeEnum, ResourceAddress, TreeData, TreeNodeMetadata } from '../../../../typing';
import { FormM2OCascaderFieldWidget } from '../cascader/FormM2OCascaderFieldWidget';
export declare class FormM2OAddressFieldWidget extends FormM2OCascaderFieldWidget {
    static readonly AddressTypes: AddressTypeEnum[];
    protected get changeOnSelect(): boolean;
    protected generatorDefaultTreeDefinition(props: any): TreeNodeMetadata | undefined;
    protected getSubmitField(metadata: TreeNodeMetadata): Record<string, string> | undefined;
    protected $onSelectedChange(selectedNodes: OioTreeNode<TreeData>[] | null | undefined): void;
    protected $onSelectedChangeNext(currentValue: ResourceAddress, selectedNode: OioTreeNode<TreeData> | undefined): void;
    protected getResourceAddressValue(currentValue: ResourceAddress, type: AddressTypeEnum): {
        code: StandardString;
        name: StandardString;
    } | undefined;
    protected setResourceAddressValue(currentValue: ResourceAddress, type: AddressTypeEnum, code: StandardString, name: StandardString): AddressTypeEnum | null | undefined;
    protected fetchBackfillData(currentValues: ActiveRecord[], metadataList: TreeNodeMetadata[]): Promise<TreeNodeResponseBody[] | undefined>;
    protected fetchBackfillDataNext(currentValues: ActiveRecord[], metadataList: TreeNodeMetadata[]): Promise<TreeNodeResponseBody[] | undefined>;
    protected generatorCompareRecords(currentValues: ActiveRecord[], metadataList: TreeNodeMetadata[]): ActiveRecord[] | undefined;
    protected generatorCompareRecordsNext(currentValues: ActiveRecord[], metadataList: TreeNodeMetadata[]): ActiveRecord[] | undefined;
    submit(submitValue: SubmitValue): Promise<Record<string, unknown> | undefined>;
}
