/**
 * 隐私/机密/数据主权合约 — 授权与权限判定
 *
 * 包含读取禁止/确认判定、授权创建与验证、操作权限检查等功能。
 */
import type { SensitivityLabel, HandlingMode, CheckContext, DataAccessGrant, AllowedOperation } from "./privacy_types.js";
/**
 * 获取指定敏感标签的默认处理方式。
 * @param label - 敏感标签
 * @returns 处理方式
 */
export declare function getDefaultHandling(label: SensitivityLabel): HandlingMode;
/**
 * 获取指定敏感标签在特定上下文中的处理方式。
 * @param label - 敏感标签
 * @param context - 检查上下文
 * @returns 处理方式
 */
export declare function getContextHandling(label: SensitivityLabel, context: CheckContext): HandlingMode;
/**
 * 判断数据是否可以注入 prompt。
 * @param label - 敏感标签
 * @returns 是否允许
 */
export declare function canInjectInPrompt(label: SensitivityLabel): boolean;
/**
 * 判断数据是否可以存入任务上下文。
 * @param label - 敏感标签
 * @returns 是否允许
 */
export declare function canStoreInTaskContext(label: SensitivityLabel): boolean;
/**
 * 判断数据是否可以存入产物。
 * @param label - 敏感标签
 * @returns 是否允许
 */
export declare function canStoreInArtifact(label: SensitivityLabel): boolean;
/**
 * 判断数据是否可以外部发送。
 * @param label - 敏感标签
 * @returns 是否允许
 */
export declare function canSendExternally(label: SensitivityLabel): boolean;
/**
 * 判断来源的内容是否可以读取。
 * @param sourceRef - 来源引用路径
 * @returns 读取许可结果
 */
export declare function canReadContent(sourceRef: string): {
    allowed: boolean;
    reason: string;
    label: SensitivityLabel;
    requires_confirmation?: boolean;
};
/**
 * 判断来源是否禁止读取。
 * @param sourceRef - 来源引用路径
 * @returns 是否禁止
 */
export declare function isReadForbidden(sourceRef: string): boolean;
/**
 * 判断来源是否需要确认后才能读取。
 * @param sourceRef - 来源引用路径
 * @returns 是否需要确认
 */
export declare function isReadRequiresConfirmation(sourceRef: string): boolean;
/**
 * 创建数据访问授权。
 * @param options.granted_by - 授权人
 * @param options.scope_refs - 授权范围引用
 * @param options.sensitivity_allowed - 允许的敏感标签
 * @param options.allowed_operations - 允许的操作
 * @param options.purpose - 用途
 * @param options.duration_hours - 有效时长（小时）
 * @returns 数据访问授权
 */
export declare function createDataAccessGrant(options: {
    granted_by: string;
    scope_refs: string[];
    sensitivity_allowed: SensitivityLabel[];
    allowed_operations: AllowedOperation[];
    purpose: string;
    duration_hours: number;
}): DataAccessGrant;
/**
 * 判断授权是否有效。
 * @param grant - 数据访问授权
 * @returns 是否有效
 */
export declare function isGrantValid(grant: DataAccessGrant): boolean;
/**
 * 判断授权是否已过期。
 * @param grant - 数据访问授权
 * @returns 是否已过期
 */
export declare function isGrantExpired(grant: DataAccessGrant): boolean;
/**
 * 检查授权是否允许指定操作。
 * @param grant - 数据访问授权
 * @param operation - 请求的操作
 * @param sensitivity - 敏感标签
 * @returns 权限检查结果
 */
export declare function checkGrantPermission(grant: DataAccessGrant, operation: AllowedOperation, sensitivity: SensitivityLabel): {
    allowed: boolean;
    reason: string;
};
//# sourceMappingURL=privacy_grants.d.ts.map