export interface ParsedRef { owner: string; repo: string; ref: string; } /** * Parse a skill reference string. * Formats: `user/repo` (default ref: main), `user/repo@ref` */ export declare function parseSkillRef(input: string): ParsedRef; export interface DownloadResult { /** Temp directory containing the extracted repo. Caller must clean up. */ tempDir: string; } /** * Resolve a GitHub auth token, if one is configured. * * Order: `WRONGSTACK_GITHUB_TOKEN` (WrongStack-specific override) → `GITHUB_TOKEN` * → `GH_TOKEN` (the gh CLI convention). Returns `undefined` when none are set, * which means only public repos can be fetched. * * Exposed for testing and for the installer's user-facing messaging (so it can * say "set GITHUB_TOKEN to install private repos" rather than just "403"). */ export declare function resolveGitHubToken(env?: NodeJS.ProcessEnv): string | undefined; /** * Download and extract a GitHub repository tarball. * * Auth: reads `WRONGSTACK_GITHUB_TOKEN` / `GITHUB_TOKEN` / `GH_TOKEN` (in that * order). Without a token only public repos work; with one, private repos the * token can read also work, and the API rate limit is the authenticated * (much higher) limit instead of the anonymous 60/hour. * * Returns the path to a temp directory with the extracted contents. The caller * must remove it (the installer does this in a `finally`). */ export declare function downloadGitHubTarball(parsed: ParsedRef): Promise; //# sourceMappingURL=github-fetcher.d.ts.map