import { JoinSearchParams, SearchParams } from '../components/types/Params';
import { Reactive } from 'vue';
import { SelectOption } from '../components/types/SearchProps';
import { BatchFieldInfo, FieldInfo, PageFieldInfo } from '../components/types/PageFieldInfo';
import { ApiUrls } from '../components/types/ApiUrls';
import { DialogProps } from '../components/types/DialogProps';
/**
 * 构建菜单树
 * @param data
 * @param valField 字符串值
 * @param name
 * @param val 数字值
 */
export declare function createTree(data: any, valField: string, name: string, val: string): SelectOption[];
/**
 * 加载框
 * @param msg
 * @param defaultTarget
 */
export declare function load(msg: string, defaultTarget?: string): void;
/**
 * 关闭加载框
 */
export declare function closeLoad(): void;
/**
 * 下划线转驼峰
 * @param str
 */
export declare function convertToCamelCase(str: string): string;
/**
 * 驼峰转下划线
 * @param str
 */
export declare function camelCaseToUnderline(str: string): string;
/**
 * 数据格式化
 * @param name
 * @param cellValue
 */
export declare function commonParseCodeToName(name: string, cellValue: any): any;
/**
 * 数据匹配方式
 */
export declare function searchMatchList(): SelectOption[];
/**
 * 排序方式
 */
export declare function orderBy(): SelectOption[];
/**
 * 请求方式
 */
export declare function httpMethod(): SelectOption[];
/**
 * 辅助函数 创建属性对象
 * @param label 字段标签
 * @param fieldName 字段名称
 * @param type 字段类型
 * @param defaultVisible 默认可见
 * @param matchType 匹配方式
 */
export declare function createSearchField(label: string, fieldName: string, defaultVisible?: boolean, matchType?: string, type?: string): {
    label: string;
    fieldName: string;
    type: string;
    defaultVisible: boolean;
    matchType: string;
};
/**
 * 辅助函数 创建属性对象
 * @param label 字段标签
 * @param fieldName 字段名称
 * @param type 字段类型
 * @param formVisible 表单可见
 * @param listVisible 表格可见
 */
export declare function createField(label: string, fieldName: string, type?: string, formVisible?: boolean, listVisible?: boolean): {
    label: string;
    fieldName: string;
    type: string;
    formVisible: boolean;
    listVisible: boolean;
};
/**
 * 公共字段
 * @param formVisibleFields 表单可见字段
 * @param tableVisibleFields 表格可见字段
 */
export declare function commonField(formVisibleFields?: Array<string>, tableVisibleFields?: Array<string>): FieldInfo[];
/**
 * 数据格式
 */
export declare function dataType(): SelectOption[];
/**
 * 复制数据
 * @param msg
 */
export declare function copyTxt(msg: string): void;
/**
 * 表格序号
 * @param row
 * @param rowIndex
 */
export declare function rowClassName({ row, rowIndex }: any): void;
/**
 * 创建条件
 */
export declare function createCondition(name: string, val: any, matchType?: string): SearchParams;
/**
 * 创建关联条件
 * @param leftFieldName 左表字段名称
 * @param rightFieldName 右表字段名称
 * @param matchType 匹配方式
 */
export declare function createJoinCondition(leftFieldName: string, rightFieldName: string, matchType?: string): JoinSearchParams;
/**
 * 解析已组装的条件
 * @param conditions
 * @param name
 */
export declare function analysisField(conditions: SearchParams[], name: string): SearchParams;
/**
 * 判断是不是Json
 * @param v
 */
export declare function isJson(v: any): boolean;
/**
 * 解析表单字段映射
 * @param fieldList
 */
export declare function formFieldMapping(fieldList: PageFieldInfo): {
    defaultDatas: any;
    mappingFields: any[];
    batchDefaultValues: any;
    actions: any[];
    formFields: FieldInfo[];
};
/**
 * 批量列表数据默认值
 * @param datas
 * @param dataForm
 */
export declare function batchFieldDefaultValues(datas: BatchFieldInfo, dataForm: any): any;
/**
 * 动态组件数据
 * @param field 组件参数信息
 * @param analysisUrl 是否解析Url
 */
export declare function compDynamicData(field: any, analysisUrl?: false): Promise<any>;
/**
 *
 * @param preps 组件参数信息
 * @param queryInfo 查询条件
 * @param proxyUrl 代理接口,为空时，默认使用/system-config/redirect/execute
 */
export declare function dynamicUrlOperation(preps: any, queryInfo?: SearchParams[], proxyUrl?: string): Promise<SelectOption[]>;
/**
 * 创建过滤器
 * @param queryString 查询参数
 */
export declare function createFilter(queryString: string): Promise<(data: SelectOption) => number>;
/**
 * 公共 Api 接口
 * @param appName 应用名称或者接口前缀
 * @param urlPrefix api 接口前缀
 * @param condition 条件
 */
export declare function apiInstance(appName: string, urlPrefix: string, condition?: Array<any>): ApiUrls;
/**
 * 模态窗口相关属性
 */
export declare function dialogPreps(title?: string, batchTitle?: string): Reactive<DialogProps>;
/**
 * 参数编码
 * @param param
 */
export declare function uriEncode(param: string | number | boolean): string;
/**
 * 参数解码
 * @param param
 */
export declare function uriDecode(param: string): string;
/**
 * 字符串转base64
 * @param param
 */
export declare function base64Encode(param: string): string;
/**
 * 对象转base64
 * @param object
 */
export declare function objectToBase64(object: any): string;
/**
 * base64转字符串
 * @param param
 */
export declare function base64Decode(param: string): string;
/**
 * 预览图片
 * @param images
 */
export declare function imagesPreview(images: Array<string> | string): void;
/**
 * 设置css 全局变量
 * @param name 变量名称
 * @param val 变量值
 * @param dom
 */
export declare function setCssVar(name: string, val: any, dom?: HTMLElement): void;
/**
 * 去除空格
 * @param data
 */
export declare function trim(data: string): string;
