/** * GitHub Resolver for Forge Assets * Handles fetching bundles and starters directly from GitHub repositories */ import type { AssetIdentifier, AssetLocation, AssetPackage } from '../../types'; export interface GitHubResolverOptions { token?: string; defaultOrg?: string; cacheDir?: string; apiBaseUrl?: string; } export declare class GitHubResolver { private token?; private defaultOrg; private cacheDir; private apiBaseUrl; constructor(options?: GitHubResolverOptions); /** * Parse asset identifier string into components */ parseIdentifier(identifier: string): AssetIdentifier; /** * Infer asset type from repository name */ private inferAssetType; /** * Resolve identifier to full asset location */ resolve(identifier: string): Promise; /** * Fetch asset package from GitHub */ fetch(location: AssetLocation): Promise; /** * Get default branch for repository */ private getDefaultBranch; /** * Get tarball URL for repository */ private getTarballUrl; /** * Download tarball from URL with progress tracking */ private downloadTarball; /** * Extract files from tarball */ private extractTarball; /** * Find manifest file in extracted files */ private findManifestFile; /** * Get commit information */ private getCommitInfo; /** * Make GitHub API request */ private apiRequest; /** * Get cached package if available */ private getCached; /** * Cache package for future use */ private cachePackage; /** * Clear cache */ clearCache(): Promise; /** * Set authentication token */ setToken(token: string): void; /** * Set default organization */ setDefaultOrg(org: string): void; /** * Get default file exclusion patterns */ private getDefaultExclusions; /** * Filter files based on manifest inclusion/exclusion patterns */ private filterFiles; } //# sourceMappingURL=resolver.d.ts.map