/**
 * GitHub package spec parser for repertoire add command.
 *
 * Parses "github:{owner}/{repo}@{ref}" format into structured components.
 * The @{ref} part is optional; when omitted, ref is undefined and the caller
 * should resolve the default branch via the GitHub API.
 */
export interface GithubPackageRef {
    owner: string;
    repo: string;
    /** The ref (branch, tag, or SHA) to install. `undefined` when omitted from the spec. */
    ref: string | undefined;
}
/**
 * Parse a GitHub package spec string into its components.
 *
 * @param spec - e.g. "github:nrslib/takt-fullstack@main" or "github:nrslib/takt-fullstack"
 * @returns Parsed owner, repo, and ref (owner and repo are lowercased; ref may be undefined)
 * @throws if the spec format is invalid
 */
export declare function parseGithubSpec(spec: string): GithubPackageRef;
//# sourceMappingURL=github-spec.d.ts.map