import { CreateAxiosDefaults } from 'axios'; export interface ApiConfig { code: string; message: string; data: string; successCode: string | number; eventData: { data: string; data_key: string; data_value: string; }; } export interface UploadConfig { url: string; data: string; data_path: string; data_md5: string; } export interface UEditorConfig { serverUrl: string; homeUrl: string; } export interface WangEditorConfig { serverUrl: string; } export interface MenuConfig { id: string; name: string; action: string; icon: string; color?: string; group?: string; url: string; areaName?: string; controllerName?: string; actionName?: string; visible?: string; confirmField?: string; confirmPasswordField?: string; isShowPassword?: string; } export interface TableConfig { menu: string; avgDay: string; page: { data: string; pageSize: string; currentPage: string; total: string; pageCount: string; }; } export interface QueryConfig { /** @deprecated 仅兼容旧项目;新项目使用服务端预签名表。 */ encrypt: string; signatures: Record; } export interface DefaultConfig { api: ApiConfig; axios: CreateAxiosDefaults; upload: UploadConfig; uEditor: UEditorConfig; wangEditor: WangEditorConfig; menu: MenuConfig; table: TableConfig; query: QueryConfig; } export type DeepPartial = T extends (...args: any[]) => any ? T : T extends readonly unknown[] ? T : T extends object ? { [P in keyof T]?: DeepPartial; } : T; /** * 合并组件库配置,并保留未覆盖的嵌套默认值。 */ export declare function mergeConfig(base: T, patch: DeepPartial): T; export declare const defaultConfig: DefaultConfig; export declare let globalConfig: DefaultConfig; export declare function setConfig(newConfig: DeepPartial): void; /** Leo MVC 菜单字段预设;分页沿用默认的数值字段 RecordCountInt。 */ export declare const leoMvcConfig: DeepPartial; /** Leo MVC ClientPage 预设;查询签名来自服务端预签名表,不下发 Query_Encrypt。 */ export declare function createLeoMvcConfig(): DeepPartial;