type GetAppInfoMethod = () => Promise<any>;
type ParseFileMethod = (file: File) => Promise<any>;
type UploadPayload = {
    onProgress?: (p: number) => void;
    signal?: AbortSignal;
    modelKey?: string;
};
type UploadFileMethod = (file: File, payload?: UploadPayload) => Promise<any>;
type FormulaIdentify = (expr: string) => string[];
type FormulaCalculate = (expr: string, values: Record<string, any>) => Promise<any>;
interface ServiceUtilHandlers {
    getAppInfo?: GetAppInfoMethod;
    parseFile?: ParseFileMethod;
    uploadFile?: UploadFileMethod;
    formulaIdentify?: FormulaIdentify;
    formulaCalculate?: FormulaCalculate;
}
declare class ServiceUtil {
    private static instance;
    private _getAppInfo?;
    private _parseFileImpl?;
    private _uploadFileImpl?;
    private _formulaIdentifyImpl?;
    private _formulaCalculateImpl?;
    private constructor();
    /**
     * 获取 ServiceUtil 单例实例
     */
    static getInstance(): ServiceUtil;
    /**
     * 初始化/注册实现方法
     * @param handlers - 包含 parseFile 和 uploadFile 实现的对象
     */
    register(handlers?: ServiceUtilHandlers): void;
    /**
     * 获取应用信息
     */
    getAppInfo(): Promise<any>;
    /**
     * 解析文件
     * @param file - 文件对象
     */
    parseFile(file: File): Promise<any>;
    /**
     * 上传文件
     * @param file - 文件对象
     */
    uploadFile(file: File, payload?: UploadPayload): Promise<any>;
    /**
     * 变量识别
     * @param expr
     * @returns {Array}
     */
    formulaIdentify(expr: string): string[] | undefined;
    /**
     * 公式计算
     * @param {string} expr 表达式
     * @param {object} values 参数
     * @returns
     */
    formulaCalculate(expr: string, values: Record<string, any>): Promise<any>;
}
declare const serviceUtil: ServiceUtil;
export default serviceUtil;
