/**
 * @file Package spec parsing and GitHub URL utilities.
 */
/**
 * Extract user and project from GitHub repository URL.
 *
 * @example
 *   ;```typescript
 *   getRepoUrlDetails('https://github.com/lodash/lodash.git')
 *   // { user: 'lodash', project: 'lodash' }
 *   ```
 */
export declare function getRepoUrlDetails(repoUrl?: string): {
    user: string;
    project: string;
};
/**
 * Generate GitHub API URL for a tag reference.
 *
 * @example
 *   ;```typescript
 *   gitHubTagRefUrl('lodash', 'lodash', 'v4.17.21')
 *   // 'https://api.github.com/repos/lodash/lodash/git/ref/tags/v4.17.21'
 *   ```
 */
export declare function gitHubTagRefUrl(user: string, project: string, tag: string): string;
/**
 * Generate GitHub tarball download URL for a commit SHA.
 *
 * @example
 *   ;```typescript
 *   gitHubTgzUrl('lodash', 'lodash', 'abc123')
 *   // 'https://github.com/lodash/lodash/archive/abc123.tar.gz'
 *   ```
 */
export declare function gitHubTgzUrl(user: string, project: string, sha: string): string;
/**
 * Check if a package specifier is a GitHub tarball URL.
 *
 * @example
 *   ;```typescript
 *   isGitHubTgzSpec('https://github.com/user/repo/archive/abc123.tar.gz') // true
 *   isGitHubTgzSpec('lodash@4.17.21') // false
 *   ```
 */
export declare function isGitHubTgzSpec(spec: unknown, where?: string): boolean;
/**
 * Check if a package specifier is a GitHub URL with committish.
 *
 * @example
 *   ;```typescript
 *   isGitHubUrlSpec('github:user/repo#v1.0.0') // true
 *   isGitHubUrlSpec('lodash@4.17.21') // false
 *   ```
 */
export declare function isGitHubUrlSpec(spec: unknown, where?: string): boolean;
