import type { TaskContext, ProjectConfig, DeliveryResult, ChangelogEntry } from "../../types/index.js";
import type { KnowledgeIndexManager } from "../../knowledge/index_manager.js";
import type { GitOperations } from "../../git/git_deps.js";
/**
 * 自动交付模块 — 完成代码提交、推送、PR 创建和变更日志生成。
 * 交付行为由产品配置文件（KnowledgeIndex 中的 domain 类型条目）控制，
 * 支持按需跳过推送和 PR 步骤。
 */
/**
 * 交付流程的输入参数。
 * @property taskContext - 当前任务的上下文
 * @property config - 项目配置
 * @property knowledgeIndex - 知识索引管理器，用于读取交付配置
 * @property projectPath - 项目根目录路径
 * @property gitOps - Git 操作封装
 * @property skipPush - 是否跳过推送步骤
 * @property skipPr - 是否跳过 PR 创建步骤
 */
export interface DeliveryInput {
    taskContext: TaskContext;
    config: ProjectConfig;
    knowledgeIndex: KnowledgeIndexManager;
    projectPath: string;
    gitOps: GitOperations;
    skipPush?: boolean;
    skipPr?: boolean;
}
/**
 * 执行完整的交付流程：提交代码、推送到远程、生成 PR 命令和变更日志。
 * 流程按顺序执行，每一步失败后记录错误并继续后续步骤。
 * @param input - 交付输入参数
 * @returns 交付结果，包含已执行操作、跳过操作、错误信息和 commit hash
 */
export declare function deliver(input: DeliveryInput): Promise<DeliveryResult>;
/**
 * 对字符串进行 shell 安全转义，防止双引号内注入。
 * 转义双引号、反引号、美元符号和反斜杠。
 * @param str - 需要转义的字符串
 * @returns 转义后的安全字符串
 */
export declare function shellEscape(str: string): string;
/**
 * 根据任务上下文生成 Conventional Commits 格式的变更日志条目。
 * 任务类型映射：feature→feat, bugfix/hotfix→fix, refactor→refactor, test→test 等。
 * @param taskContext - 当前任务的上下文
 * @returns 变更日志条目，包含类型、作用域、描述和任务 ID
 */
export declare function generateChangelogEntry(taskContext: TaskContext): ChangelogEntry;
//# sourceMappingURL=delivery.d.ts.map