///
import type { SingleValueType, DefaultOptionType, InternalFieldNames, ShowCheckedStrategy } from '../Cascader';
import type { GetEntities } from '../hooks/useEntities';
declare type Key = string | number;
export declare type GetKey = (record: RecordType, index?: number) => Key;
type DataEntity = any;
type DataNode = any;
interface TraverseDataNodesConfig {
childrenPropName?: string;
externalGetKey?: ExternalGetKey;
fieldNames?: InternalFieldNames;
}
export interface FieldNames {
title?: string;
/** @private Internal usage for `rc-tree-select`, safe to remove if no need */
_title?: string[];
key?: string;
children?: string;
}
type ExternalGetKey = GetKey | string;
interface Wrapper {
posEntities: Record;
keyEntities: Record;
}
export declare function formatStrategyValues(pathKeys: React.Key[], getKeyPathEntities: GetEntities, showCheckedStrategy: ShowCheckedStrategy): import("react").Key[];
export declare function toPathOptions(valueCells: SingleValueType, options: DefaultOptionType[], fieldNames: InternalFieldNames, stringMode?: boolean): {
value: SingleValueType[number];
index: number;
option: DefaultOptionType;
}[];
export declare function convertDataToEntities(dataNodes: DataNode[], { initWrapper, processEntity, onProcessFinished, externalGetKey, childrenPropName, fieldNames }?: {
initWrapper?: (wrapper: any) => Wrapper;
processEntity?: (entity: DataEntity, wrapper: Wrapper) => void;
onProcessFinished?: (wrapper: Wrapper) => void;
externalGetKey?: ExternalGetKey;
childrenPropName?: string;
fieldNames?: InternalFieldNames;
},
/** @deprecated Use `config.externalGetKey` instead */
legacyExternalGetKey?: ExternalGetKey): {
posEntities: any;
keyEntities: any;
};
export declare function traverseDataNodes(dataNodes: DataNode[], callback: (data: {
node: DataNode;
index: number;
pos: string;
key: Key;
parentPos: string | number;
level: number;
nodes: DataNode[];
}) => void, config?: TraverseDataNodesConfig | string): void;
export declare function getPosition(level: string | number, index: number): string;
export declare function fillFieldNames(fieldNames?: FieldNames): Required;
export {};