import { GitReference, IFileChange, IGitContentResult, IGitStatusFile, IGitStatusResult } from './tokens'; /** * Fetch `git status --porcelain` for the repository the server resolves at * `repoPath`. When `repoPath` is the empty string, git resolves the repo * from the JupyterLab server's root directory. */ export declare function status(repoPath: string): Promise; /** * Fetch a file's contents at a particular git reference. `filename` is the * file's path relative to the git repository root (matching the `to` field * of {@link status}'s response). */ export declare function content(repoPath: string, filename: string, reference: GitReference): Promise; /** * Expand the porcelain `files` array into one entry per logical change. * A single porcelain row may map to two `IFileChange` rows (a file that's * both staged and modified again in the worktree); callers that just want * a flat list of all changes — without any staged-vs-unstaged grouping — * can use this helper. * * Provided as a manual concat rather than `Array.prototype.flatMap` so we * don't pin our `tsconfig.lib` to ES2019. */ export declare function expandStatusFiles(files: IGitStatusFile[]): IFileChange[];