/** * Opt-in sprint close commit (R8–R11). Commits exactly the changed files a close wrote and * nothing else: other staged or unstaged changes stay as they were (`git commit --only`). * Never pushes, amends, skips hooks, or disables signing. Never throws: every outcome is a * result, and a failure never affects the close that already happened. */ export interface CloseCommitRequest { /** Workspace root; close paths are relative to it. */ cwd?: string; /** Paths written by the close transaction. */ paths: string[]; scope: string; sprintN: number; title: string; } export type CloseCommitStatus = 'committed' | 'skipped' | 'failed'; export interface CloseCommitResult { status: CloseCommitStatus; sha?: string; /** Committed paths, relative to the workspace root. */ paths?: string[]; reason?: string; /** Exact command to finish the commit by hand when the result is not `committed`. */ manualCommand?: string; } /** Single-line subject; trailers in their own final paragraph. */ export declare function closeCommitMessage(scope: string, sprintN: number, title: string): string; /** * Exact command to finish the close commit by hand. Trailers use `--trailer` (git 2.32+) so no * argument embeds a newline; quoting and the separator follow the platform shell. */ export declare function buildManualCommand(paths: string[], scope: string, sprintN: number, title: string, platform?: NodeJS.Platform): string; export declare function commitCloseArtifacts(request: CloseCommitRequest): CloseCommitResult; //# sourceMappingURL=close-commit.d.ts.map