/**
 * 重试模块
 * @date 2022-08
 * @author 何华东
 */
/**
  * 重试函数
  *
  * 重试条件:
  *
  * 1.如果可重试目标方法出现异常,会自动进行重试
  *
  * 2.可重试目标方法未抛出异常,根据返回结果并传入重试条件retryCondition方法判断是否进行重试
  * @param func 可重试的目标方法
  * @param retryMaxCount 重试最大次数
  * @param retryDelayMs 每次重试延迟毫秒数
  */
export declare function retry(func: () => Promise<any> | any, retryMaxCount: number, retryDelayMs: number, config?: {
    /**
     * 可重试的目标方法出现异常时的异常处理,不会打断重试逻辑，一般用于记录日志
     */
    errorHandler?: (error: any, retryCountLeft: number) => any;
    /**
     * 重试条件,传入可重试的目标方法返回的结果判断是否重试
     */
    retryCondition?: (res: any) => boolean;
}): Promise<any>;
/**
 * 重试器
 *
 * 重试条件:
 *
 * 1.如果可重试目标方法出现异常,会自动进行重试
 *
 * 2.可重试目标方法未抛出异常,根据返回结果并传入重试条件retryCondition方法判断是否进行重试
 * @param methodDesc 方法描述,仅为记录日志
 * @param retryMaxCount 重试最大次数
 * @param retryDelayMs 每次重试延迟毫秒数
 */
export declare function Retryable(methodDesc?: string, retryMaxCount?: number, retryDelayMs?: number, config?: {
    /**
     * 异常处理
     */
    errorHandler?: (error: any, retryCountLeft: number) => any;
    /**
     * 重试条件,传入可重试的目标方法返回的结果判断是否重试
     */
    retryCondition?: (res: any) => boolean;
}): MethodDecorator;
