/**
 * HttpError — 框架 HTTP 错误类
 *
 * 所有通过 app.throw() 抛出的错误最终都会被包装为 HttpError。
 * 全局错误处理中间件捕获后格式化为统一错误响应：
 *   { code, message, requestId }
 *
 * 设计说明：
 *   - status: HTTP 状态码（400/401/403/404/409/500…）
 *   - message: 错误描述（可能是 i18n 翻译后的文本）
 *   - code: 业务错误码（可选；不传则响应 code = status；传入则响应 code = bizCode）
 *
 * 业务错误码优先级：
 *   用户显式传入 code > locale 配置中的 code > 默认使用 status
 *
 * @example
 * throw new HttpError(404, 'User not found')
 * // → { code: 404, message: 'User not found', requestId: '...' }
 *
 * @example
 * throw new HttpError(400, '邮箱已注册', 10001)
 * // → { code: 10001, message: '邮箱已注册', requestId: '...' }
 */
export declare class HttpError extends Error {
    /** HTTP 状态码 */
    readonly status: number;
    /** 业务错误码（可选；不传则 code = status；支持 number 或 string） */
    readonly code?: number | string | undefined;
    readonly name: "HttpError";
    constructor(
    /** HTTP 状态码 */
    status: number, 
    /** 错误描述 */
    message: string, 
    /** 业务错误码（可选；不传则 code = status；支持 number 或 string） */
    code?: number | string | undefined);
}
/**
 * 校验错误中的单个字段错误描述
 */
export interface VextValidationFieldError {
    /** 字段名称 */
    field: string;
    /** 错误描述 */
    message: string;
}
/**
 * VextValidationError — 参数校验失败错误
 *
 * 当 validate 中间件校验请求参数失败时抛出此错误。
 * 全局错误处理中间件捕获后格式化为 422 响应：
 *   { code: 422, message: 'Validation failed', errors: [...], requestId: '...' }
 *
 * @example
 * throw new VextValidationError([
 *   { field: 'email', message: '邮箱格式不正确' },
 *   { field: 'age', message: '年龄必须大于 0' },
 * ])
 */
export declare class VextValidationError extends Error {
    /** 校验失败的字段错误列表 */
    readonly errors: VextValidationFieldError[];
    readonly name: "VextValidationError";
    readonly status = 422;
    constructor(
    /** 校验失败的字段错误列表 */
    errors: VextValidationFieldError[], 
    /** 错误消息（默认 'Validation failed'） */
    message?: string);
}
