/**
 * @copyright Sister Software
 * @license AGPL-3.0
 * @author Teffen Ellis, et al.
 */
import { PathBuilder, PathBuilderLike } from "path-ts";
/**
 * Metadata for a repository source.
 */
export interface RepositorySource {
    name: string;
    owner: string;
    url: string;
}
export declare function prepareRepositoryDirectories({ name, owner }: RepositorySource, localRepoDirectory: PathBuilderLike): Promise<{
    ownerDirectory: PathBuilder<`${string}/${string}`>;
    repoDirectory: PathBuilder<`${string}/${string}/${string}`>;
    exists: import("fs").Stats | null;
}>;
/**
 * Synchronize a repository source, i.e. clone or pull the repository.
 */
export declare function synchronizeRepo(source: RepositorySource, localRepoDirectory: PathBuilderLike): Promise<void>;
//# sourceMappingURL=git.d.ts.map