import { URL } from "../../util/url.js"; import { Result } from "../../util/result.js"; import { SemVer } from "../../util/semver.js"; export interface RemoteFetcher { /** * Retrieves a list of available versions from a remote source. * * @param {URL} remote - The URL of the remote repository or API endpoint. */ Versions(remote: URL): Promise>; /** * Retrieves a specific version of a module from a remote source and stores it. * * @param {URL} remote - The URL of the remote repository or base path for the resource. * @param {string} version - The specific version of the resource to retrieve (e.g., "v1.0.0", "v2.1.5-beta"). * @param {string} path - The local path where the retrieved resource should be stored. */ Get(remote: URL, version: string, path: string): Promise>; }