/**
 * Git Adapter
 *
 * Base adapter for fetching packages from any Git URL.
 * Handles clone to cache, pull for refresh, and version tag checkout.
 *
 * Cache layout:
 *   ~/.cache/aiwg/packages/<owner>/<name>@<version>/
 *
 * @implements #557
 */
import type { PackageRef, PackageSource, PackageRegistryAdapter, FetchOptions, PackageInfo } from '../types.js';
/**
 * Build cache path for a package at a specific version
 */
export declare function buildCachePath(owner: string, name: string, version: string): string;
/**
 * Detect the manifest type from a cloned package directory
 */
declare function detectManifestType(cachePath: string): Promise<'framework' | 'addon' | 'extension' | 'unknown'>;
/**
 * GitAdapter
 *
 * Handles any https:// or git@... URL directly.
 * Also serves as the base class for Gitea/GitHub shorthand adapters.
 */
export declare class GitAdapter implements PackageRegistryAdapter {
    readonly id: string;
    readonly name: string;
    /**
     * Returns true for https:// or git@/ssh:// URLs, or git+https:// URLs
     */
    canResolve(ref: string): boolean;
    resolve(ref: PackageRef): Promise<PackageSource | null>;
    fetch(source: PackageSource, options?: FetchOptions): Promise<string>;
    /** GitAdapter does not list packages */
    list(): Promise<PackageInfo[]>;
}
export { detectManifestType };
//# sourceMappingURL=git.d.ts.map