/**
 * 统一错误处理机制
 */
export { VERSION } from '../version';
/**
 * 错误信息接口
 */
export interface ErrorInfo {
    /** 错误代码 */
    code: string;
    /** 错误消息 */
    message: string;
    /** 所属模块 */
    module: string;
    /** 错误发生时间戳 */
    timestamp: number;
    /** 错误堆栈信息 */
    stack?: string;
}
export type ErrorCallback = (error: ErrorInfo) => void;
export type ErrorUnsubscribe = () => void;
/**
 * UniApp工具库自定义错误类
 * 继承自原生Error类，添加了错误代码、模块和时间戳信息
 */
export declare class UniAppToolsError extends Error {
    /** 错误代码 */
    code: string;
    /** 所属模块 */
    module: string;
    /** 错误发生时间戳 */
    timestamp: number;
    /**
     * 构造函数
     * @param code 错误代码
     * @param message 错误消息
     * @param module 所属模块
     */
    constructor(code: string, message: string, module: string);
}
/**
 * 全局错误处理器
 * 使用单例模式，提供统一的错误处理和回调机制
 */
export declare class ErrorHandler {
    /** 单例实例 */
    private static instance;
    /** 错误回调函数列表 */
    private errorCallbacks;
    /**
     * 获取错误处理器单例实例
     * @returns 错误处理器实例
     */
    static getInstance(): ErrorHandler;
    /**
     * 注册错误回调函数
     * 当发生错误时，会调用所有注册的回调函数
     * @param callback 错误回调函数
     */
    onError(callback: ErrorCallback): ErrorUnsubscribe;
    /**
     * 处理错误
     * 将错误信息标准化并执行所有注册的回调函数
     * @param error 错误对象
     * @param module 发生错误的模块名称
     */
    handleError(error: unknown, module: string): void;
    /**
     * 创建模块专用的错误处理函数
     * 返回一个绑定了特定模块名的错误处理函数
     * @param moduleName 模块名称
     * @returns 模块专用的错误处理函数
     */
    createModuleErrorHandler(moduleName: string): (code: string, message: string, originalError?: unknown) => UniAppToolsError;
}
/**
 * 异步操作包装器，统一错误处理
 * 自动捕获异步操作中的错误并进行统一处理
 * @param operation 要执行的异步操作
 * @param moduleName 模块名称
 * @param errorCode 错误代码，默认为'ASYNC_ERROR'
 * @returns 操作结果，如果发生错误则返回null
 */
export declare function safeAsync<T>(operation: () => Promise<T>, moduleName: string, errorCode?: string): Promise<T | null>;
export declare function safeSync<T>(operation: () => T, moduleName: string, errorCode?: string): T | null;
export declare function safeSync<T>(operation: () => T, moduleName: string, errorCode: string | undefined, defaultValue: T): T;
export declare function safeSync<T>(operation: () => T, moduleName: string, errorCode: string | undefined, defaultValue: null): T | null;
