/** * @param {import('#types').Transport} transport * @param {import('#types').StageConfig} stage * @param {string} releasePath * @returns {Promise<{repo: string, revision: string, branch: string}>} */ export function prepareRemoteGitSource(transport: import("#types").Transport, stage: import("#types").StageConfig, releasePath: string): Promise<{ repo: string; revision: string; branch: string; }>; /** * Resolves the requested remote source identity to a canonical full commit SHA * before release mutation so admission can compare it with the active release. * An unpinned branch resolves through its exact ref; a pinned abbreviated * revision resolves from fetched repository objects reachable from the * configured branch and its tags (historical commits and lightweight-tag * commits are not advertised ref tips), and a pinned full SHA needs no remote * access. Ambiguous or unreachable prefixes fail instead of being treated as * equivalent to another commit. * * @param {import('#types').Transport} transport * @param {import('#types').StageConfig} stage * @param {string} [workDir] - Directory for the bounded resolution fetch; required for abbreviated revisions. * @returns {Promise} */ export function resolveRemoteGitRevision(transport: import("#types").Transport, stage: import("#types").StageConfig, workDir?: string): Promise; /** * @param {unknown} value * @returns {boolean} */ export function isGitRevision(value: unknown): boolean; /** * @param {unknown} value * @returns {boolean} */ export function isFullGitRevision(value: unknown): boolean; /** * @param {unknown} repository * @returns {boolean} */ export function isSshRepository(repository: unknown): boolean; /** * @param {unknown} repo * @returns {string} */ export function remoteGitRepoLabel(repo: unknown): string; //# sourceMappingURL=git-source.d.ts.map