/**
 * Source Parser for `specweave get`
 *
 * Parses the <source> argument into a structured type:
 * - GitHub shorthand: owner/repo
 * - GitHub HTTPS URL: https://github.com/owner/repo[.git]
 * - GitHub SSH URL: git@github.com:owner/repo[.git]
 * - Generic git URL: https://other-host.com/org/repo
 * - Local path: ./path, /absolute/path, ../relative
 */
export type SourceType = 'github' | 'git' | 'local';
export interface ParsedSource {
    type: SourceType;
    /** GitHub owner or org, extracted from URL or git remote */
    owner: string;
    /** Repository name (no .git suffix) */
    repo: string;
    /** Full clone URL (undefined for local) */
    cloneUrl?: string;
    /** Resolved absolute path (only for local) */
    absolutePath?: string;
}
/**
 * Parse <source> argument into a structured ParsedSource.
 * Throws with a descriptive message if the input is unrecognizable.
 */
export declare function parseSource(source: string): ParsedSource;
//# sourceMappingURL=source-parser.d.ts.map