interface RegistryIndex { packages: Record; examples?: string[]; }>; alias: Record; } interface RepoInfo { url?: string; type: 'github' | 'gitlab' | 'bitbucket'; checkout: string; name: string; owner: string; origin?: string; } declare type Fetch = ((url: string) => Promise<{ data: RegistryIndex; }>); declare function resolveRepoLink(repoLink: string): RepoInfo; declare function getRepoRawRoot(repo: RepoInfo | string): string; declare function getRepoRoot(repo: RepoInfo | string): string; declare function getRegistryIndex(fetch: Fetch, registryIndex?: string, cache?: boolean): Promise; declare function resolvePackageName(fetch: Fetch, packageName: string): Promise<{ version: string; repo: string; entry: string; description?: string | undefined; author?: string | undefined; dependencies?: Record | undefined; examples?: string[] | undefined; name: string; }>; export { Fetch, RegistryIndex, RepoInfo, getRegistryIndex, getRepoRawRoot, getRepoRoot, resolvePackageName, resolveRepoLink };