import { type GitProcessOutput } from 'workspace-tools'; type GitFetchParams = { cwd: string; /** * Remote to fetch from. This should almost always be set but might be an empty string * if the repo somehow has no remotes configured. */ remote: string; /** * Branch(es) to fetch. Each will be converted to a full refspec for fetching: * e.g. `branch: 'main', remote: 'origin'` will be converted to `+refs/heads/main:refs/remotes/origin/main`. * Pass an array to fetch multiple branches in a single git invocation, which lets a single * `--deepen` or `--unshallow` apply to all of them (saves network round-trips when both HEAD * and the target branch need deepening). */ branch: string | string[]; /** Set depth to this number of commits (mutually exclusive with `deepen` and `unshallow`) */ depth?: number; /** Deepen a shallow clone by this number of commits (mutually exclusive with `depth` and `unshallow`) */ deepen?: number; /** Convert this from a shallow clone to a full clone (mutually exclusive with `depth` and `deepen`) */ unshallow?: true; verbose?: boolean; }; /** * Wrapper for `git fetch`. If `verbose` is true, log the command before starting, and display output * on stdout (except in tests). In tests with `verbose`, the output will be logged all together to * `console.log` when the command finishes (for easier mocking/capturing). * * This converts `remote` and `branch` into a fully qualified refspec, so it doesn't matter if * the remote branch is tracked or not in the local repository. */ export declare function gitFetch(params: GitFetchParams): GitProcessOutput & { errorMessage?: string; }; export {}; //# sourceMappingURL=fetch.d.ts.map