/**
 * 模板初始化同步 — init 命令的知识模板复制与全局模式安装。
 *
 * 将 CLI copyKnowledgeTemplates / copyGlobalPatterns 的核心逻辑抽为生产模块，
 * 由 CLI、release gate、observed_consumption 共同调用。
 * 每次调用均记录 consumption_trace，保证 trace 来源真实一致。
 * 同步完成后写入 sync-manifest.json，记录每个同步文件的来源身份元数据。
 * 管线模板同步完成后写入 manifest.yaml，记录系统类型和文件修改状态。
 */
export interface InitSyncResult {
    /** 新增复制的文件数 */
    copied: number;
    /** 过时副本自动更新的文件数 */
    updated: number;
    /** 跳过的内部资产数 */
    skipped_internal: number;
    /** 跳过的无合同资产数 */
    skipped_no_contract: number;
    /** 跳过的已存在且已是最新文件数 */
    skipped_up_to_date: number;
    /** 跳过的用户已修改文件数（不覆盖） */
    skipped_user_modified: number;
    /** 全局模式复制数 */
    patterns_copied: number;
    /** 全局模式跳过数（已存在） */
    patterns_skipped: number;
}
/** 同步清单条目 */
export interface SyncManifestEntry {
    source_asset_id: string;
    source_contract_path: string;
    source_hash: string;
    synced_at: string;
}
/** 同步清单 */
export interface SyncManifest {
    version: 1;
    entries: Record<string, SyncManifestEntry>;
}
/**
 * 读取同步清单。
 */
export declare function readSyncManifest(projectPath: string): SyncManifest | null;
/**
 * 从权威来源（当前安装的模板包）计算 source_contract_path 的 body hash。
 * 用于替代 sync-manifest.json 中用户可编辑的 source_hash。
 * 返回 null 表示权威来源文件不存在（用户可能已卸载/升级包）。
 */
export declare function computeAuthoritativeHash(sourceContractPath: string): string | null;
export interface AuthoritativeIdentity {
    source_contract_path: string;
    source_asset_id: string;
    source_hash: string;
}
/**
 * 按目标 knowledge relativePath 反向解析权威来源身份。
 * 不依赖用户可编辑 manifest 中的 source_contract_path/source_asset_id。
 * 返回 null 表示无对应权威映射（非同步资产或模板包缺失）。
 */
export declare function resolveAuthoritativeIdentity(knowledgeRelPath: string): AuthoritativeIdentity | null;
/**
 * 遍历 templates/knowledge 下所有文件，通过 getContractDecision 门禁，
 * 记录 consumption_trace 后复制到用户项目 .soloforge/knowledge/ 目录。
 * 同步完成后写入 sync-manifest.json 记录来源身份。
 */
export declare function copyKnowledgeToProject(templatesRootDir: string, projectPath: string): Promise<InitSyncResult>;
/**
 * 安装全局模式到指定目录。
 * 遍历 templates/patterns 下所有文件，记录 consumption_trace。
 */
export declare function copyPatternsToGlobal(templatesRootDir: string, patternsDestDir: string): Promise<{
    copied: number;
    skipped: number;
}>;
/** 管线模板清单条目 */
export interface PipelineManifestEntry {
    modified: boolean;
    source_hash: string;
}
/** 管线模板清单（manifest.yaml） */
export interface PipelineManifest {
    version: 2;
    system_type: string;
    soloforge_version: string;
    synced_at: string;
    files: Record<string, PipelineManifestEntry>;
}
/** 读取管线模板清单 */
export declare function readPipelineManifest(projectPath: string): PipelineManifest | null;
/** 管线模板同步结果 */
export interface PipelineSyncResult {
    copied: number;
    updated: number;
    skipped_modified: number;
    skipped_exists: number;
}
/**
 * 复制管线模板到用户项目。
 * 根据 systemType 决定复制 shared/ + (new-system/ 或 existing-system/)。
 * 已修改文件永不覆盖，提示用户手动合并。
 */
export declare function copyPipelineTemplatesToProject(templatesRootDir: string, projectPath: string, systemType?: string): Promise<PipelineSyncResult>;
//# sourceMappingURL=template_init_sync.d.ts.map