/**
 * 装饰器模块
 * @date 2022-03
 * @author 何华东
 */
/**
 * Cron计划任务
 *
 * @param cronExpression cron时间表达式
 * @param description 计划任务描述,仅为记录日志
 * @returns
 */
export declare function CronJob(cronExpression: string, description?: string): ClassDecorator;
/**
 * 重试器
 *
 * 重试条件:
 *
 * 1.如果可重试目标方法出现异常,会自动进行重试
 *
 * 2.可重试目标方法未抛出异常,根据返回结果并传入重试条件retryCondition方法判断是否进行重试
 * @param func 可重试的目标方法
 * @param retryMaxCount 重试最大次数
 * @param retryDelayMs 每次重试延迟毫秒数
 * @param errorHandler 可重试的目标方法出现异常时的异常处理,不会打断重试逻辑，一般用于记录日志
 * @param retryCondition 重试条件,传入可重试的目标方法返回的结果判断是否重试
 */
export declare function retry(func: () => Promise<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 每次重试延迟毫秒数
 * @param errorHandler 可重试的目标方法出现异常时的异常处理,不会打断重试逻辑，一般用于记录日志
 * @param retryCondition 重试条件,传入可重试的目标方法返回的结果判断是否重试
 */
export declare function Retryable(methodDesc?: string, retryMaxCount?: number, retryDelayMs?: number, config?: {
    errorHandler?: (error: any, retryCountLeft: number) => any;
    retryCondition?: (res: any) => boolean;
}): MethodDecorator;
/**
 * 异步方法同步执行器
 *
 * 基于Promise实现
 */
export declare function Sync(): MethodDecorator;
/**
 * 节流器
 * @param milliseconds 统计周期
 * @param count 最大执行次数
 * @param filter 过滤器,返回true表示不参与节流
 */
export declare function Throttle(milliseconds: number, count: number, filter?: (...args: any[]) => boolean): MethodDecorator;
