import { ActiveRecord, ActiveRecords, RuntimeRelationField } from '@oinone/kunlun-engine';
import { OioTreeNode, SimpleTreeSelected, TreeSelectNodeChangeEvent } from '@oinone/kunlun-vue-ui-common';
import { FormComplexFieldProps } from '../../basic';
import { TreeNodeResponseBody } from '../../service';
import { TreeData, TreeNodeMetadata } from '../../typing';
import { AbstractTreeFieldWidget, BackfillDataParameters } from './AbstractTreeFieldWidget';
export declare class FormTreeSelectFieldWidget<Value = ActiveRecords, Field extends RuntimeRelationField = RuntimeRelationField, Props extends FormComplexFieldProps<Field> = FormComplexFieldProps<Field>> extends AbstractTreeFieldWidget<TreeData, Value, Field, Props> {
    protected selectedValue: SimpleTreeSelected | SimpleTreeSelected[] | undefined;
    initialize(props: any): this;
    protected get onlySelectedLeaf(): boolean;
    /**
     * @see TreeSelectCheckedStrategy
     */
    protected get multipleCheckedStrategy(): string | undefined;
    protected get treeCheckStrictly(): boolean | undefined;
    protected onSelectedChange(selectedValue: SimpleTreeSelected | SimpleTreeSelected[], event: TreeSelectNodeChangeEvent): void;
    protected getSelectedNodes(selectedValue: SimpleTreeSelected | SimpleTreeSelected[]): OioTreeNode<TreeData>[] | undefined;
    protected collectionSelectedNodes(selectedValue: SimpleTreeSelected | SimpleTreeSelected[]): OioTreeNode<TreeData>[];
    protected $collectionSelectedNodes(root: OioTreeNode<TreeData>, selectedValues: SimpleTreeSelected[], target: OioTreeNode<TreeData>[]): void;
    protected validatorSelectedValue(selectedValue: SimpleTreeSelected | SimpleTreeSelected[], selectedNodes: OioTreeNode<TreeData>[]): boolean | SimpleTreeSelected | SimpleTreeSelected[] | undefined;
    protected generatorNewTreeNode(parent: OioTreeNode<TreeData>, key: string, title: string | undefined, metadata: TreeNodeMetadata, data: ActiveRecord): OioTreeNode<TreeData>;
    protected backfillDataProcess({ selectedNodes }: {
        selectedNodes: any;
    }): void;
    protected clearBackfillDataProcess(): void;
    protected convertBackfillData(currentValues: ActiveRecord[], metadataList: TreeNodeMetadata[], list: TreeNodeResponseBody[], customCreateNodeCallback?: (node: OioTreeNode<TreeData>, value: TreeData | undefined) => void, customUpdateNodeCallback?: (node: OioTreeNode<TreeData>, value: TreeData) => void): BackfillDataParameters | undefined;
    protected generatorTreeNodeAfterProperties(node: OioTreeNode<TreeData>): void;
    protected collectionSelectedValues(node: OioTreeNode<TreeData> | undefined): SimpleTreeSelected | undefined;
}
