import { Ref, Slots } from 'vue'; import { BaseDataKey, StyleModule } from './typescript/util_types'; /** * 获取随机字符串 * * @param bit 字符串位数 */ export declare function genRandomStr(bit: number): string; /** 判断是否是有效值 */ export declare function isValid(value: unknown): boolean; /** 组件的size值与ElementPlus的size值存在差异,因此需要进行转换 */ export declare function getCompSize(size: string | undefined): "small" | "default" | "large"; /** * 判断css颜色值是否合法 * * @param strColor css颜色值 */ export declare function isValidColor(strColor: string | undefined): boolean; /** * 获取色阶 * * @param hex 颜色值 */ export declare function GetColorLevel(hex: any): { lightColor: string; darkColor: string; loadingColor: string; }; /** * 较大长度数组依据较小长度数组排序 * * @param targetData 待排序数组 * @param sourceData 基准数组 * @param key 排序基准字段 */ export declare function sortBySmallerList(targetData: any[], sourceData: string[], key?: string): any[]; /** * 树形数据转数组 * * @param treeData 树形数据 * @param childrenField 子节点字段名 */ export declare function treeDataToArray(treeData: any[] | undefined, childrenField: string): any[]; type TransformTreeConfig = { parentField?: string; children?: string; idField?: string; addPid?: boolean; deleteChildren?: boolean; }; /** * 将树形数据转换为一位数组 * * @param treeData 树形数据 * @param config 配置项 parentField:父节点字段名,children:子节点字段名,idField:节点唯一标识字段名,addPid:是否添加pid字段,deleteChildren:是否删除Children字段 */ export declare function transformTreeData(treeData: any[] | undefined, config?: TransformTreeConfig): any[]; /** * 过滤无效树形数据 * * @param treeData 树形数据 * @param childrenField 子节点字段名 * @param filterCallback 是否过滤的回调函数,返回为false时则过滤掉该节点及其子节点 */ export declare function getValidTreeData(treeData: any[], childrenField: string, filterCallback: (item: any) => boolean): any[]; /** * 合并数组数据,如果有相同的key,则取后者的值 * * @param sourceData 源数组 * @param targetData 待合并数组 * @param childrenField 子节点字段名 * @param key 主键 * @returns 合并后的数组data以及targetData中未合并的数组rest */ export declare function resetTreeData(sourceData: any[], targetData: any[], childrenField: string, key: string): { data: any[]; rest: any[]; }; /** * 转换数据为Map结构,构建表格数据节点之间的关系 * * @param tableData 表格数据 * @param rowField 行字段名,默认 id * @param parentField 父节点字段名,默认 pid */ export declare function convertToMap(tableData: any[], rowField: string, parentField: string): Map; /** * 获取组件实例的expose方法(proxy模式) * * @param instance 实例对象 * @param source 数据源 * @param getters 自定义属性,该数组如果包含instance中的属性名,则instance[属性名]必须赋予一个getter函数,该函数返回值将作为属性值返回 */ export declare function getExposeProxy, U extends Record>(instance: T, source: Ref, getters?: Array): T; type SortRules = { field: string; order: 'asc' | 'desc' | '' | null; sortBy?: string; sortType?: 'number' | 'string' | 'auto'; [key: string]: any; }; /** * 多字段排序 * * @param data 待排序数组 * @param sortRules 排序规则数组,包含字段名、排序方式等信息 */ export declare function multiFieldSort(data: any[], sortRules: SortRules[]): any[]; /** * 格式化日期 * * @param date 日期或日期数组 * @param formatter 格式化规则 */ export declare function formatterDate(date: Date | Date[], formatter: string | undefined): any; /** * 给不足位数的数字补零 * * @param num 数字 * @param length 位数 */ export declare function padZero(num: number, length: number): string; /** * 获取CSS变量 * * @param varName CSS变量名 * @param el 作用域元素,表示获取该作用域下的CSS变量默认document.documentElement */ export declare function getCSSVar(varName: string, el?: Document | HTMLElement): string; /** * 设置CSS变量 * * @param varName CSS变量名 * @param value CSS变量值 */ export declare function setCSSVar(varName: string, value: string, el?: Document | HTMLElement): void; /** * 合并同类插槽,为了规范项目初期命名问题,且不影响旧版本的使用,因此需要合并同类的插槽,比如['add-icon', 'addIcon']都指向同一个插槽 * * @param slots 插槽对象 * @param names 同类插槽名称数组 */ export declare function compatibleSlots(slots: Slots, names: string[]): string; /** 获取数组所有的排列组合,笛卡尔积 */ export declare function getAllCombinations(arr: string[][]): string[]; /** * 数组排序 * * @param targetData 待排序数组 * @param sortData 基准数组 * @param key 排序基准字段 */ export declare function sortFunc(targetData: any[], sortData: any, key: string | number): any[]; /** * 合并CSS变量,如果变量已存在,则覆盖 * * @param cssVariables CSS变量对象 */ export declare function mergeCssVar(cssVariables: Record | undefined): void; /** * 设置项目主题 * * @param theme 主题名称,目前支持 'AOM','GFAOM','KingAutometa' */ export declare function setProjectTheme(theme?: StyleModule): string; /** * 将px值转换为rem值 * * @param value px值 */ export declare function convertPxToRem(value: number): number; /** * 从树形数据中获取指定的数据 * * @param treeData 树形数据 * @param keys 要获取的数据的主键值数组 * @param keyField 主键字段名 * @param childrenField 子节点字段名 */ export declare function getDataByTree(treeData: T[], keys: BaseDataKey[] | undefined, keyField: keyof T, childrenField: keyof T): T[]; /** * 获取对象中除指定键值外的其他属性 * * @param obj 对象数据 * @param excludeKeys 要排除的键值 */ export declare function getRestAttrs(obj: any, excludeKeys?: string[]): any; /** 判断数据是否为对象 */ export declare function isObject(obj: any): obj is Record; export {};