///
import { RepoInfo } from './examples.js';
export declare enum TemplateType {
Empty = 0,
GitHub = 1,
DeepGithub = 2,
Url = 3,
Error = 4,
Name = 5
}
export declare class Template {
type: TemplateType;
origValue?: URL | string;
url?: URL;
exampleName?: string;
repoInfo?: RepoInfo;
constructor(urlOrString?: URL | string);
prepare(): Promise;
initRepoInfo(url: URL, repoPath?: string): Promise;
downloadGitRepo(root: string): Promise;
initExample(exampleName: string): Promise;
downloadExample(root: string): Promise;
}
export declare function parseUrl(url?: string): Template;
export declare function attachTrailingSlash(url: string): string;
export declare function removeTrailingSlash(url: string): string;