import { ComponentProps, PartialKey, ScreenComponentDataType, ScreenComponentDataTypeWithPath } from '@orca-fe/deye-typings'; import { Path } from '@orca-fe/deye-core'; export declare function pickPathElement(data: ScreenComponentDataType[], pathStr: string | Path): ScreenComponentDataTypeWithPath[]; /** * 根据 path 路径信息,查找该路径的父对象,以及父对象下的位置下标 * @param data * @param pathStr */ export declare function getParentAndIndex(data: T[], pathStr: string | Path): { parent: T[]; index: number; } | null; export declare function findByPath(data: T[], pathStr: string | Path): T | null; export declare function travelTree(data: T[], callback: (item: T, path: Path) => void): void; export declare function pickItems(data: T[], checked: string[]): T[]; /** * 根据当前选中的项和目标位置,移动所有内容 * @param _data 原始数据 * @param checked 选中项的路径 * @param target 目标位置 * @param sourceFillWithNull 原始位置是否用 null 填充 * @param targetFillWithNull 如果插入的的目标位置长度不足,是否用 null 填充 */ export declare const moveCheckedItem: (_data: ScreenComponentDataType[], checked: string[], target: string, sourceFillWithNull?: boolean[], targetFillWithNull?: boolean) => ScreenComponentDataType[]; /** * 插入内容 * @param _data 原始数据 * @param checked 选中项的路径 * @param target 目标位置,不传则默认添加到最后 */ export declare const insertItem: (_data: ScreenComponentDataType[], checked: ScreenComponentDataType[], target?: string) => ScreenComponentDataType[]; /** * 移除标记的 item * @param _data 原始数据 * @param checked 选中项的路径 * @param fillWithNull 是否使用 null 填充 */ export declare const removeItem: (_data: T[], checked: string[], fillWithNull?: boolean[]) => T[]; /** * 更新指定路径下的组件属性 * @param _data 原始数据 * @param target 目标路径 * @param props 需要更新的属性值 */ export declare const updateItemPropsByPosition: (_data: ScreenComponentDataType[], target: string, props?: ComponentProps) => ScreenComponentDataType[]; export declare const updateItemByPosition: (_data: ScreenComponentDataType[], target: string, item: Partial) => ScreenComponentDataType[]; /** * 更新指定路径下的组件属性 * @param _data 原始数据 * @param target 目标路径 * @param extraInfo 需要更新的属性值 */ export declare const duplicateItem: (_data: ScreenComponentDataType[], target: string, extraInfo?: Partial) => ScreenComponentDataType[]; export declare function withId(data: PartialKey[]): ScreenComponentDataType[]; export declare function withoutId(data: ScreenComponentDataType[]): ScreenComponentDataType[];