/**
 * 请求上下文运行时工具
 */
import type { RequestOptions, Response, RequestContext as IRequestContext } from '../types';
/**
 * 创建请求上下文
 *
 * @template TRequest - 请求配置类型
 * @template TResponse - 响应类型
 * @template TMeta - 元数据类型
 * @param request - 请求配置
 * @param meta - 初始元数据
 * @returns 请求上下文
 */
export declare function createRequestContext<TRequest extends RequestOptions = RequestOptions, TResponse extends Response = Response, TMeta extends Record<string, unknown> = Record<string, unknown>>(request: TRequest, meta?: TMeta): IRequestContext<TRequest, TResponse, TMeta>;
/**
 * 更新请求上下文
 *
 * @template TContext - 请求上下文类型
 * @param context - 请求上下文
 * @param updates - 更新内容
 * @returns 更新后的上下文
 */
export declare function updateRequestContext<TContext extends IRequestContext>(context: TContext, updates: Partial<TContext>): TContext;
/**
 * 完成请求上下文（设置响应和结束时间）
 *
 * @template TContext - 请求上下文类型
 * @param context - 请求上下文
 * @param response - 响应对象
 * @returns 更新后的上下文
 */
export declare function completeRequestContext<TContext extends IRequestContext>(context: TContext, response: Response): TContext;
/**
 * 失败请求上下文（设置错误和结束时间）
 *
 * @template TContext - 请求上下文类型
 * @param context - 请求上下文
 * @param error - 请求错误
 * @returns 更新后的上下文
 */
export declare function failRequestContext<TContext extends IRequestContext>(context: TContext, error: Error): TContext;
/**
 * 取消请求上下文
 *
 * @template TContext - 请求上下文类型
 * @param context - 请求上下文
 * @returns 更新后的上下文
 */
export declare function cancelRequestContext<TContext extends IRequestContext>(context: TContext): TContext;
//# sourceMappingURL=RequestContext.d.ts.map