/**
 * 模板资产可见性与注入边界 — 控制标准资产全链路访问。
 *
 * 覆盖同步、索引、注入、脚手架、fallback、adapter prompt、
 * MCP tool、CLI 和 release gate 所有入口的可见性裁决。
 */
export type AssetVisibility = "user_project" | "soloforge_internal" | "adapter_runtime_only" | "scaffold_only" | "global_pattern";
export type RuntimeVisibility = "injectable" | "index_only" | "internal_only" | "scaffold_only";
export type EvidenceRole = "template_guidance" | "project_source_file" | "classification";
export type LifecycleStatus = "active" | "deprecated" | "replaced_by" | "internal_only" | "quarantined";
export interface AssetVisibilityMeta {
    asset_id: string;
    asset_visibility: AssetVisibility;
    sync_to_user_project: boolean;
    sync_target: "project_knowledge" | "global_patterns" | "none";
    runtime_visibility: RuntimeVisibility;
    evidence_role: EvidenceRole;
    user_visible: boolean;
    owner_mechanism_id: string;
    applicable_routes: string[];
    applicable_tech_stack: string[];
    source: "builtin" | "user_project" | "organization" | "generated";
    lifecycle_status: LifecycleStatus;
}
export interface VisibilityConflictResult {
    has_conflict: boolean;
    path_inference: AssetVisibility;
    frontmatter_declaration: AssetVisibility | null;
    content_keywords: AssetVisibility | null;
    resolution: "resolved" | "awaiting_user_confirmation" | "hard_fail";
    message: string;
}
export interface AssetVisibilityReport {
    total_assets: number;
    user_project_assets: number;
    soloforge_internal_assets: number;
    adapter_runtime_only_assets: number;
    scaffold_only_assets: number;
    global_pattern_assets: number;
    missing_metadata: number;
    visibility_conflicts: number;
    leaked_internal_assets: number;
    internal_term_violations: number;
    scaffold_variable_gaps: number;
}
export interface SyncFilterResult {
    copied: string[];
    skipped: string[];
    internal: string[];
    quarantined: string[];
}
/**
 * 判断资产是否为内部资产 — 由权威合同注册表驱动。
 * 合同缺失时 fail-closed: 不视为内部也不视为可发布，由调用方决定阻断策略。
 */
export declare function isInherentlyInternal(assetPath: string): boolean;
export declare function inferVisibilityFromPath(assetPath: string): {
    visibility: AssetVisibility;
    runtime: RuntimeVisibility;
};
/**
 * 内容关键词推断可见性。
 */
export declare function inferVisibilityFromContent(content: string): AssetVisibility | null;
/**
 * 从 frontmatter 解析显式可见性声明。
 */
export declare function parseFrontmatterVisibility(content: string): AssetVisibility | null;
/**
 * 可见性冲突检测 — 路径推断、frontmatter 和内容关键词三方对账。
 */
export declare function detectVisibilityConflict(assetPath: string, content: string): VisibilityConflictResult;
/**
 * 用户可见资产内部术语污染扫描。
 */
export declare function scanInternalTerms(content: string): string[];
/**
 * 按可见性过滤同步资产。
 */
export declare function filterAssetsForUserProject(assets: AssetVisibilityMeta[]): AssetVisibilityMeta[];
/**
 * 同步过滤 — 决定哪些资产应该复制到用户项目。
 */
export declare function filterSyncAssets(assetPaths: string[], templateRoot: string): SyncFilterResult;
/**
 * 可见性门禁 — 所有入口统一裁决。
 */
export declare function checkAssetVisibilityGate(meta: AssetVisibilityMeta, route: string): boolean;
/**
 * 按技术栈过滤 — review_rules 必须匹配技术栈。
 */
export declare function filterByTechStack(assets: AssetVisibilityMeta[], techStack: string[]): AssetVisibilityMeta[];
/**
 * 脚手架资产检查 — 只能由脚手架机制消费。
 */
export declare function isScaffoldAsset(assetPath: string): boolean;
/**
 * 包内路径检查 — scaffold 不依赖 process.cwd()/templates。
 */
export declare function isPackageInternalPath(absPath: string, packageRoot: string): boolean;
/**
 * 审计模板可见性。
 */
export declare function auditTemplateVisibility(assets: AssetVisibilityMeta[]): AssetVisibilityReport;
/**
 * 全量可见性审计 — 由权威合同注册表驱动。
 */
export declare function auditAllTemplateAssets(templateRoot: string): AssetVisibilityReport;
//# sourceMappingURL=template_asset_visibility.d.ts.map