import { DownloadInit } from 'miniprogram-downloader';
import { GeneralCallbackResult, Omit } from 'miniprogram-network-utils';
import { RequestInit } from 'miniprogram-request';
import { UploadInit } from 'miniprogram-uploader';
/**
 * 公共配置
 */
declare type CommonConfig = Partial<Omit<(RequestInit | DownloadInit | UploadInit), 'transformSend' | 'transformResponse' | 'retry'>>;
/**
 * 设置所有网络请求基本配置
 * @param config 公共配置项
 */
declare function setConfig(config: CommonConfig): void;
/**
 * 设置所有网络请求公共配置
 * @example setConfig<'retry'>('retry',3);
 * @param key - 配置字段
 * @param value - 配置值
 */
declare function setConfig<T extends (keyof CommonConfig) | 'retry'>(key: T, value: (CommonConfig & {
    'retry'?: number | ((data: object, reason?: GeneralCallbackResult) => Promise<object>);
})[T]): void;
/**
 * 延迟重试
 * 会在 options.__failure 记录失败的次数
 * @param delay 延时时间 单位ms
 * @param retryTimes 重试次数
 */
declare function delayRetry<TWxOptions>(delay: number, retryTimes?: number): (data: TWxOptions, reason?: GeneralCallbackResult) => Promise<TWxOptions>;
export { setConfig, delayRetry };
//# sourceMappingURL=set-config.d.ts.map