///
export type RepoInfo = {
userName: string;
repoName: string;
branch: string;
repoPath: string;
};
export declare function isUrlOk(url: string): Promise;
export declare function getRepoInfoFromUrlString(repoUrl: URL): RepoInfo;
export declare function getGitHubRawFile(info: RepoInfo, basePath: string): Promise;
export declare function getRepoInfo(url: URL, examplePath?: string): Promise;
export declare function hasRepo({ userName, repoName, branch, repoPath }: RepoInfo, checkFile?: string): Promise;
export declare function exampleCheckUrl(userName: string, repoName: string, branch: string, exampleRoot: string, checkFile?: string): string;
export declare function hasExample(userName: string, repoName: string, branch: string, exampleRoot: string, checkFile?: string): Promise;
export declare function gzipUrl(userName: string, repoName: string, branch: string): string;
export declare function downloadAndExtractRepo(root: string, { userName, repoName, branch, repoPath }: RepoInfo): Promise;
export declare function downloadAndExtractExample(root: string, userName: string, repoName: string, branch: string, repoPath: string): Promise;