export type ModuleAddress = ModuleAddress.GitHubRepo | ModuleAddress.GitHubRawUrl | ModuleAddress.DenoLandUrl; export declare namespace ModuleAddress { /** e.g: "github:userOrOrg/repositoryName#branch" */ type GitHubRepo = { type: "GITHUB REPO"; userOrOrg: string; repositoryName: string; branch?: string; }; namespace GitHubRepo { /** * Input example * KSXGitHub/simple-js-yaml-port-for-deno or * github:KSXGitHub/simple-js-yaml-port-for-deno or * KSXGitHub/simple-js-yaml-port-for-deno#3.12.1 or * github:KSXGitHub/simple-js-yaml-port-for-deno#3.12.1 or */ function parse(raw: string): GitHubRepo; /** Match valid parse input */ function match(raw: string): boolean; } /** https://raw.githubusercontent.com/user/repo/branch/path/to/file.ts */ type GitHubRawUrl = { type: "GITHUB-RAW URL"; baseUrlWithoutBranch: string; pathToIndex: string; branch: string; }; namespace GitHubRawUrl { function parse(raw: string): GitHubRawUrl; function match(raw: string): boolean; } /** e.g: https://deno.land/x/foo@1.2.3/mod.js */ type DenoLandUrl = { type: "DENO.LAND URL"; isStd: boolean; baseUrlWithoutBranch: string; pathToIndex: string; branch?: string; }; namespace DenoLandUrl { function parse(raw: string): DenoLandUrl; function match(raw: string): boolean; } function parse(raw: string): ModuleAddress; }