export declare const getCommitSha: (commitSha: string | null | undefined, options?: { cwd?: string; }) => Promise; /** * Computes the base SHA for local development: * - On main/master (or detached HEAD at main): returns HEAD sha * - On a branch: returns `git merge-base main HEAD` (or master if main doesn't exist) * * Returns null if not in a git repository or if computation fails. */ export declare const getLocalBaseSha: (options?: { cwd?: string; }) => Promise; /** * Returns true if the git working tree has uncommitted changes (staged or unstaged). */ export declare const hasUncommittedChanges: (options?: { cwd?: string; }) => Promise; /** * Returns the untracked (and not git-ignored) files in the working tree. * These cannot be captured by `git stash create` or a `base..head` diff, so * callers that infer a build commit / diff from the working tree should refuse * to proceed while any exist. Returns `[]` outside a git repository. */ export declare const getUntrackedFiles: (options?: { cwd?: string; }) => Promise; /** * Returns the raw `git diff` output between baseSha and either a specific commit or the working tree. * - If headSha is provided: `git diff baseSha headSha` * - If headSha is omitted: `git diff baseSha` (compares to working tree) */ export declare const getGitDiff: (baseSha: string, headSha: string | undefined, options?: { cwd?: string; }) => Promise; /** * Captures the current index + working tree as a real (unreferenced) commit via * `git stash create`, returning its SHA. Does NOT modify HEAD, the branch, or * the working tree. Returns `undefined` when the tree is clean (stash create * prints nothing). Use to label a build of a dirty working tree with a * content-faithful commit, without forcing the user to commit. */ export declare const getStashCreateSha: (options?: { cwd?: string; }) => Promise; export declare const getCommitDate: (commitDate: string | null | undefined, commitSha: string) => Promise;