/**
 * 隐私/机密/数据主权合约 — 扫描与评估
 *
 * 包含敏感信息检测、脱敏处理、外发检查、prompt 注入检查、
 * 治理验证和统一隐私门禁评估等功能。
 */
import type { SensitivityLabel, HandlingMode, DataSensitivityLabel, DataAccessGrant, RedactionRecord, PrivacyGovernanceFinding } from "./privacy_types.js";
/**
 * 检测来源的敏感等级。
 * @param sourceRef - 来源引用路径
 * @param contentHints - 内容提示关键词（可选）
 * @returns 数据敏感标签
 */
export declare function detectSensitivity(sourceRef: string, contentHints?: string[]): DataSensitivityLabel;
/**
 * 对内容进行脱敏处理。
 * @param content - 原始内容
 * @param label - 敏感标签
 * @param sourceRef - 来源引用（可选）
 * @returns 脱敏结果和脱敏记录
 */
export declare function redactContent(content: string, label: SensitivityLabel, sourceRef?: string): {
    redacted: string;
    record: RedactionRecord;
};
/**
 * 检查内容是否可以外部发送。
 * @param content - 待发送内容
 * @param sensitivity - 敏感标签
 * @param grants - 授权列表
 * @returns 外发检查结果
 */
export declare function checkExternalSend(content: string, sensitivity: DataSensitivityLabel, grants: DataAccessGrant[]): {
    allowed: boolean;
    reason: string;
    requiresRedaction: boolean;
    redactedContent?: string;
};
/**
 * 检查数据是否可以注入 prompt。
 * @param sensitivity - 敏感标签
 * @param grants - 授权列表
 * @returns 注入检查结果
 */
export declare function checkPromptInjection(sensitivity: DataSensitivityLabel, grants: DataAccessGrant[]): {
    allowed: boolean;
    reason: string;
    handling: HandlingMode;
};
/**
 * 构建隐私处理反馈信息。
 * @param options - 反馈选项
 * @returns 格式化的反馈文本
 */
export declare function buildPrivacyFeedback(options: {
    notRead: string[];
    redacted: string[];
    requiresAuth: string[];
    notInPrompt: string[];
    blocked: boolean;
    externalRedaction: boolean;
}): string;
/**
 * 验证隐私契约合规性。
 * @param options.sensitivities - 敏感标签列表
 * @param options.grants - 授权列表
 * @param options.redactionRecords - 脱敏记录列表
 * @param options.promptInjections - prompt 注入列表
 * @param options.taskContextStores - 任务上下文存储列表
 * @param options.artifactStores - 产物存储列表
 * @param options.externalSends - 外部发送列表
 * @returns 治理发现列表
 */
export declare function validatePrivacyContract(options: {
    sensitivities: DataSensitivityLabel[];
    grants: DataAccessGrant[];
    redactionRecords: RedactionRecord[];
    promptInjections: Array<{
        source_ref: string;
        label: SensitivityLabel;
    }>;
    taskContextStores: Array<{
        source_ref: string;
        label: SensitivityLabel;
    }>;
    artifactStores: Array<{
        source_ref: string;
        label: SensitivityLabel;
    }>;
    externalSends: Array<{
        source_ref: string;
        label: SensitivityLabel;
    }>;
}): PrivacyGovernanceFinding[];
export interface PrivacyGateResult {
    allowed: boolean;
    hard_fail: boolean;
    blocked_sources: string[];
    findings: PrivacyGovernanceFinding[];
    redacted_text?: string;
    redaction_records: RedactionRecord[];
    labels: DataSensitivityLabel[];
}
/**
 * 扫描文本中的敏感信息。
 * @param text - 待扫描文本
 * @param sourceRef - 来源引用
 * @returns 检测到的敏感标签列表
 */
export declare function scanTextSensitivity(text: string, sourceRef: string): DataSensitivityLabel[];
/**
 * 扫描来源引用的敏感等级。
 * @param sourceRef - 来源引用路径
 * @returns 数据敏感标签
 */
export declare function scanSourceRefSensitivity(sourceRef: string): DataSensitivityLabel;
/**
 * 对文本中的敏感信息进行脱敏处理。
 * @param text - 原始文本
 * @param sourceRef - 来源引用（可选）
 * @returns 脱敏结果和脱敏记录
 */
export declare function redactSensitiveText(text: string, sourceRef?: string): {
    redacted: string;
    records: RedactionRecord[];
};
/**
 * 评估隐私门禁，决定是否阻断操作。
 * @param options - 门禁评估选项
 * @returns 门禁结果，包含是否通过、阻断源和警告
 */
export declare function evaluatePrivacyGate(params: {
    intent?: string;
    input_materials?: Array<{
        path_or_ref: string;
        content?: string;
    }>;
    prompt_sources?: string[];
    task_context_stores?: Array<{
        source_ref: string;
        content?: string;
    }>;
    artifact_stores?: Array<{
        source_ref: string;
        content?: string;
    }>;
    external_sends?: Array<{
        source_ref: string;
        content?: string;
    }>;
    grants?: DataAccessGrant[];
}): PrivacyGateResult;
//# sourceMappingURL=privacy_scanning.d.ts.map