import { z } from 'zod';
/**
 * 配置签名验证选项
 */
export interface ConfigSignatureOptions {
    /**
     * 是否启用签名验证
     */
    enabled: boolean;
    /**
     * 公钥（用于验证签名）
     */
    publicKey?: string;
    /**
     * 签名算法
     */
    algorithm?: string;
}
/**
 * 配置来源验证选项
 */
export interface ConfigOriginOptions {
    /**
     * 允许的来源列表
     */
    allowedOrigins?: string[];
    /**
     * 是否验证 CORS
     */
    verifyCORS?: boolean;
    /**
     * 是否验证 Referer
     */
    verifyReferer?: boolean;
}
/**
 * 配置白名单选项
 */
export interface ConfigWhitelistOptions {
    /**
     * 允许的配置键列表
     */
    allowedKeys?: string[];
    /**
     * 禁止的配置键列表
     */
    forbiddenKeys?: string[];
    /**
     * 配置值验证 Schema
     */
    valueSchema?: z.ZodSchema;
}
/**
 * 配置安全选项
 */
export interface ConfigSecurityOptions {
    /**
     * 签名验证
     */
    signature?: ConfigSignatureOptions;
    /**
     * 来源验证
     */
    origin?: ConfigOriginOptions;
    /**
     * 白名单
     */
    whitelist?: ConfigWhitelistOptions;
}
/**
 * 配置安全工具类
 */
export declare class ConfigSecurity {
    /**
     * 验证配置签名
     */
    static verifySignature(config: Record<string, unknown>, signature: string, options: ConfigSignatureOptions): Promise<boolean>;
    /**
     * 验证配置来源
     */
    static verifyOrigin(options: ConfigOriginOptions): boolean;
    /**
     * 验证配置白名单
     */
    static verifyWhitelist(config: Record<string, unknown>, options: ConfigWhitelistOptions): {
        valid: boolean;
        errors: string[];
    };
    /**
     * 清理配置中的危险内容
     */
    static sanitizeConfig(config: Record<string, unknown>): Record<string, unknown>;
    /**
     * 验证配置安全性
     */
    static validateConfigSecurity(config: Record<string, unknown>, options: ConfigSecurityOptions): Promise<{
        valid: boolean;
        errors: string[];
    }>;
}
//# sourceMappingURL=configSecurity.d.ts.map